Intern — Junior
A cosa serve l'iniezione delle dipendenze nei moduli software?
sobes.tech AI
Risposta dell'AI
L'iniezione delle dipendenze (Dependency Injection, DI) viene utilizzata per migliorare la modularità e la testabilità dei moduli software. Invece di creare le dipendenze all'interno della classe, vengono passate dall'esterno, consentendo di sostituire facilmente le implementazioni, semplificando la manutenzione e l'espansione del codice.
Ad esempio, in C# con DI, si può passare l'implementazione di un'interfaccia al costruttore della classe:
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 di creazione utente
_logger.Log($"Utente {name} creato.");
}
}
Questo approccio facilita la sostituzione del logger con un altro (ad esempio, un file) senza modificare la classe UserService.