Intern — Junior
Pentru ce este utilizată injecția de dependențe în modulele software?
sobes.tech AI
Răspuns de la AI
Injectarea dependențelor (Dependency Injection, DI) este utilizată pentru a crește modularitatea și testabilitatea modulelor software. În loc să creeze dependențe în interiorul clasei, acestea sunt transmise din exterior, ceea ce permite înlocuirea ușoară a implementărilor, simplificând întreținerea și extinderea codului.
De exemplu, în C# cu DI, se poate transmite implementarea unei interfețe în constructorul clasei:
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) {
// logica de creare a utilizatorului
_logger.Log($"Utilizator {name} creat.");
}
}
Această abordare facilitează înlocuirea logger-ului cu altul (de exemplu, fișier) fără a modifica clasa UserService.