Dependency Injection

Creational Pattern

Instead of creating dependent objects, the objects are passed to the client either by constructor injection, setter injection or interface injection. The client does not need to know the implementation details of the used objects, only its interfaces.
Links