Dependency Injection (DI) jest wbudowany w nowoczesny .NET — framework zawiera kontener DI, który automatycznie konstruuje klasy i wstrzykuje ich zależności. Rejestrujesz usługi (mapując interfejsy na implementacje), a kontener je rozwiązuje, umożliwiając luźne sprzężenie i testowalny kod. To fundament ASP.NET Core.
Rejestrowanie usług
// in Program.cs — register services with a LIFETIME
builder.Services.AddScoped<IUserRepository, UserRepository>();
builder.Services.AddSingleton<ICacheService, CacheService>();
builder.Services.AddTransient<IEmailSender, EmailSender>();
