There are several different ways to implement Dependency Injection (DI), and Martin Fowler describes four of them in his excellent article on IoC/DI . In this article, the first three approaches (Constructor, Property, and Interface Injection) are mainly