Junior — Middle
Jakie metody zapewniają wdrożenie zależności w kodzie?
sobes.tech AI
Odpowiedź od AI
Wstrzykiwanie zależności (Dependency Injection, DI) w C# jest zwykle realizowane w następujący sposób:
- Przez konstruktor — zależności są przekazywane do klasy przez parametry konstruktora. To najpowszechniejszy i zalecany sposób.
public class Service {
private readonly IRepository _repository;
public Service(IRepository repository) {
_repository = repository;
}
}
- Przez właściwości (Property Injection) — zależności są ustawiane przez właściwości klasy.
public class Service {
public IRepository Repository { get; set; }
}
- Przez metody (Method Injection) — zależności są przekazywane do metod, które ich używają.
public class Service {
public void Execute(IRepository repository) {
// użycie repository
}
}
Do zarządzania zależnościami często używa się kontenerów DI (np. Microsoft.Extensions.DependencyInjection), które automatycznie tworzą i dostarczają potrzebne obiekty.
W ten sposób wstrzykiwanie zależności pozwala uczynić kod bardziej modułowym, testowalnym i łatwiejszym w utrzymaniu.