Junior — Middle
Wyjaśnij koncepcję wstrzykiwania zależności w ASP.NET Core i jak jest ona stosowana w rozwoju aplikacji.
sobes.tech AI
Odpowiedź od AI
Wstrzykiwanie zależności (DI) w ASP.NET Core to mechanizm umożliwiający wstrzykiwanie zależności (np. serwisów, repozytoriów) do klas bez konieczności ich ręcznego tworzenia. To zwiększa modularność, testowalność i upraszcza zarządzanie zależnościami.
W ASP.NET Core DI jest zintegrowane z frameworkiem i konfiguruje się je w metodzie ConfigureServices klasy Startup lub w Program.cs.
Przykład rejestracji i użycia serwisu:
// Interfejs serwisu
public interface IMessageService {
string GetMessage();
}
// Implementacja serwisu
public class MessageService : IMessageService {
public string GetMessage() => "Witaj z DI!";
}
// Rejestracja w ConfigureServices
public void ConfigureServices(IServiceCollection services) {
services.AddTransient<IMessageService, MessageService>();
}
// Użycie przez konstruktor
public class HomeController : Controller {
private readonly IMessageService _messageService;
public HomeController(IMessageService messageService) {
_messageService = messageService;
}
public IActionResult Index() {
var message = _messageService.GetMessage();
return Content(message);
}
}
W ten sposób ASP.NET Core automatycznie utworzy instancję MessageService i przekaże ją do kontrolera, eliminując konieczność ręcznego tworzenia obiektów.