• A Dependency Injection Container, sometimes referred to as an Inversion of Control, or IoC Container, is a software component that manages the instantiation and configuration of objects.

  • The dependency Injection Container is not a requirement to apply the dependency injection pattern, but as your application grows using one can greatly simply the management of dependencies, including their lifetimes.

  • Services are registered with the container at start up and resolved from the container at runtime whenever they are required. The container is responsible for creating and disposing of instances of required services, maintaining them for a specified lifetime.

ServiceProvider - Container IServiceCollection

Dependency inversion principle

https://en.wikipedia.org/wiki/Dependency_inversion_principle

References

Official - https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection/overview#the-concept https://en.wikipedia.org/wiki/Dependency_injection https://www.reddit.com/r/csharp/comments/ru9chz/comment/hqxttyt https://www.geeksforgeeks.org/system-design/dependency-injectiondi-design-pattern/ https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection/overview

Others https://builtin.com/articles/dependency-injection https://www.martinfowler.com/articles/injection.html https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1035&context=csse_fac