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;
}
}