SOLID is a mnemonic for five object-oriented design principles: single responsibility, open-closed, Liskov substitution, interface segregation, and dependency inversion. section 8.1
These principles provide durable guidance for object-oriented software design. ASP.NET Core applies dependency injection throughout its framework libraries, connecting SOLID with modular application structure. section 8.1
Registration email service
A registration handler can construct EmailSender and all its dependencies manually, but dependency injection lets the handler request EmailSender while the container supplies its dependencies. This illustrates the practical relationship between dependency inversion and dependency injection. section 8.1


