Dependency Injection is a design pattern used to achieve loose coupling between classes.
Instead of creating dependencies inside a class, they are injected from outside.
ASP.NET Core has built-in support for dependency injection.
This makes testing easier and improves maintainability.
Always depend on abstractions, not concrete classes.