C# Interview Question #93

What is dependency injection in C# and ASP.NET Core?

SOLID, DI, Testing & Practical C# Mid-Level Intermediate

Quick Interview Answer

Dependency Injection (DI) is a design technique where a class receives its dependencies from outside rather than creating them internally.

Detailed Explanation

Dependency Injection (DI) is a design technique where a class receives its dependencies from outside rather than creating them internally.

ASP.NET Core includes a built-in dependency injection container. Services are registered during application startup and injected, usually through constructors.

DI reduces coupling, improves testability, supports abstraction-based design, and centralizes object lifetime management.

Code Example

builder.Services.AddScoped<IProductService, ProductService>();

public class ProductsController : Controller
{
    private readonly IProductService _productService;

    public ProductsController(IProductService productService)
    {
        _productService = productService;
    }
}