Introduction
- a design pattern for achieving Inversion of Control between classes and their dependencies (https://learn.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-7.0)
- The direction of dependency within the application should be in the direction of abstraction, not implementation details.
- inversion of control (https://learn.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/architectural-principles#dependency-inversion)
- Good read between dependency injection, dependency inversion, and inversion of control(https://medium.com/ssense-tech/dependency-injection-vs-dependency-inversion-vs-inversion-of-control-lets-set-the-record-straight-5dc818dc32d1)