Patterns in the Composite Application Library
https://www.codeproject.com/Articles/29271/Design-pattern-Inversion-of-control-and-Dependency
The Dependency Injection pattern is a specialized version of the Inversion of Control pattern where the concern being inverted is the process of obtaining the needed dependency.
The Dependency Injection pattern is a specialization of the Inversion of Control pattern. The Dependency Injection pattern uses a builder object to initialize objects and provide the required dependencies to the object.
Dependency injection in ASP.NET Core