Sobes.tech
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.