Sobes.tech
Intern — Junior

Zašto se koristi ubrizgavanje zavisnosti u softverskim modulima?

sobes.tech АИ

Одговор од АИ

Уметање зависности (Dependency Injection, DI) се користи за побољшање модуларности и тестирања софтверских модула. Уместо да креира зависности унутар класе, оне се преносе споља, што омогућава лаку замену имплементација, поједностављује одржавање и проширење кода.

На пример, у C# са DI, може се пренети имплементација интерфејса у конструктор класе:

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) {
        // логика креирања корисника
        _logger.Log($"Корисник {name} креиран.");
    }
}

Овај приступ олакшава замену логгера другим (на пример, фајл логгером) без измене класе UserService.