Junior
Kam ir nepieciešama Dependency Injection C# izstrādē?
sobes.tech AI
Atbilde no AI
Atkarību injekcija (DI) C# tiek izmantota atkarību pārvaldībai starp klasēm, kas palielina koda elastību un testējamību.
DI galvenie mērķi:
- Samazināt sasaisti: klases tieši neveido savas atkarības, bet tās saņem no ārpuses.
- Vienkāršot testēšanu: atkarības ir viegli aizstāt ar mocks vai stubiem.
- Uzlabot uzturēšanu: atkarības īstenošanu var mainīt, nemainot kodu, kas to izmanto.
Piemērs:
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) {
// lietotāja izveides loģika
_logger.Log($"Lietotājs {name} izveidots.");
}
}
// Atkarību injekcija
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
Tādējādi DI veicina kontroles inversiju (IoC) un uzlabo lietojumprogrammas arhitektūru.