Intern — Junior
Do czego służy wstrzykiwanie zależności w modułach oprogramowania?
sobes.tech AI
Odpowiedź od AI
Wstrzykiwanie zależności (Dependency Injection, DI) jest używane do zwiększenia modułowości i testowalności modułów programowych. Zamiast tworzyć zależności wewnątrz klasy, są one przekazywane z zewnątrz, co umożliwia łatwą wymianę implementacji, upraszcza utrzymanie i rozszerzanie kodu.
Na przykład w C# za pomocą DI można przekazać implementację interfejsu do konstruktora klasy:
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} został utworzony.");
}
}
Takie podejście ułatwia zamianę loggera na inny (np. plikowy) bez zmiany klasy UserService.