Intern — Junior
Kokia yra priklausomybių injekcijos paskirtis programinės įrangos moduliuose?
sobes.tech AI
Atsakymas iš AI
Priklausomybių injekcija (Dependency Injection, DI) naudojama siekiant pagerinti programinių modulių modulį ir testuojamumą. Vietoj to, kad priklausomybes kurti klasės viduje, jos yra perduodamos iš išorės, tai leidžia lengvai keisti įgyvendinimus, supaprastina kodo palaikymą ir plėtrą.
Pavyzdžiui, C# su DI galima perduoti sąsajos įgyvendinimą į klasės konstruktorių:
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) {
// naudotojo kūrimo logika
_logger.Log($"Naudotojas {name} sukurtas.");
}
}
Šis požiūris palengvina loggerio pakeitimą kitu (pavyzdžiui, failo) nesukeliant pakeitimų UserService klasėje.