Intern — Junior
Kāda ir atkarību injekcijas izmantošana programmatūras moduļos?
sobes.tech AI
Atbilde no AI
Atkarību injekcija (Dependency Injection, DI) tiek izmantota, lai uzlabotu programmatūras moduļu modulāro struktūru un testējamību. Tā vietā, lai atkarības veidotu iekšā klasē, tās tiek nodotas no ārpuses, kas ļauj viegli aizstāt realizācijas, vienkāršo koda uzturēšanu un paplašināšanu.
Piemēram, C# ar DI var nodot interfeisa realizāciju klases konstruktoram:
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.");
}
}
Šī pieeja atvieglo loggera aizstāšanu ar citu (piemēram, faila) bez UserService klases izmaiņām.