Intern — Junior
За какво се използва внедряването на зависимости в софтуерните модули?
sobes.tech AI
Отговор от AI
Внедряването на зависимости (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.