Junior — Middle
Оё метавонед принсипи ворид кардани вобастагиро дар кодҳои барномавӣ ва мақсади асосии он шарҳ диҳед?
sobes.tech AI
Ҷавоб аз AI
Внедряване на зависимости (Dependency Injection, DI) е модел, при който обект получава своите зависимости отвън, вместо да ги създава сам. Това увеличава модулността, тестируемостта и гъвкавостта на кода.
Основната цел на DI:
- Разделяне на отговорностите: класът не е отговорен за създаването на зависимостите.
- Упростяване на тестването: зависимостите могат да бъдат заменени с мока или стаби.
- Повишаване на гъвкавостта: лесно сменяне на реализациите на зависимостите без промяна на класа.
Пример на C# с използване на конструктор:
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, подаваме необходимата реализация на ILogger
var service = new UserService(new ConsoleLogger());