Dependency Injection & using interfaces?
Letting your application components (the classes that contain the application logic) implement an interface is important, since this promotes the concept of: Program to an interface, not an implementation. This is effectively the Dependency Inversion Principle (DIP). Doing so allows you to replace, intercept or decorate dependencies without the need to change consumers of such … Read more