Junior
Dependency Injection дар таҳияи C# барои чӣ лозим аст?
sobes.tech AI
Ҷавоб аз AI
Внедряването на зависимости (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} създаден.");
}
}
// Внедряване на зависимост
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
По този начин DI насърчава инверсията на управлението (IoC) и подобрява архитектурата на приложението.