Back to questions
Intern — Junior
66
Для чего используется внедрение зависимостей в программных модулях?
Companies where asked
Swiftfactory
Answer from AI
sobes.tech 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($"User {name} created.");
}
}
Такой подход облегчает замену логгера на другой (например, файловый) без изменения класса UserService.