Whenever you're ready, walk me through how you'd approach this.
Describe how you handle dependency injection in a .NET environment and how it impacts testability.
Cover how services are registered and resolved with Microsoft.Extensions.DependencyInjection, which lifetimes you choose, and how dependencies are replaced in unit tests. Explain the practical trade-offs and the risks of patterns such as service location and excessive abstraction.
Scope: modern .NET applications using the built-in dependency injection container.