Dependency injection
In modern coding patterns, factory level containers that help assemble components eventually into a cohesive application have become very important. Beneath such type of containers, there is a common pattern which defines how to perform the wiring of different components together and is known as Inversion of Control (IoC). The pattern coming out of it is more specifically known as Dependency Injection.