Junior
Do czego służy wstrzykiwanie zależności w rozwoju w C#?
sobes.tech AI
Odpowiedź od AI
Wstrzykiwanie zależności (DI) w C# służy do zarządzania zależnościami między klasami, co zwiększa elastyczność i testowalność kodu.
Główne cele DI:
- Osłabienie powiązań: klasy nie tworzą bezpośrednio swoich zależności, lecz otrzymują je z zewnątrz.
- Uproszczenie testowania: łatwo można zastąpić zależności mockami lub stubami.
- Zwiększenie łatwości utrzymania: zmiana implementacji zależności nie wymaga modyfikacji kodu, który jej używa.
Przykład:
public interface ILogger { void Log(string message); }
public class ConsoleLogger : ILogger {
public void Log(string message) => Console.WriteLine(message);
}
public class UserService {
private readonly ILogger _logger;
public UserService(ILogger logger) {
_logger = logger;
}
public void CreateUser(string name) {
// logika tworzenia użytkownika
_logger.Log($"Użytkownik {name} utworzony.");
}
}
// Wstrzykiwanie zależności
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
W ten sposób DI sprzyja odwróceniu sterowania (IoC) i poprawia architekturę aplikacji.