Junior
A cosa serve l'iniezione delle dipendenze nello sviluppo in C#?
sobes.tech AI
Risposta dell'AI
L'iniezione delle dipendenze (DI) in C# viene utilizzata per gestire le dipendenze tra le classi, aumentando la flessibilità e la testabilità del codice.
Obiettivi principali di DI:
- Ridurre l'accoppiamento: le classi non creano direttamente le proprie dipendenze, ma le ricevono dall'esterno.
- Semplificare i test: è facile sostituire le dipendenze con mock o stub.
- Migliorare la manutenibilità: cambiare l'implementazione di una dipendenza non richiede modifiche al codice che la utilizza.
Esempio:
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.");
}
}
// Iniezione di dipendenza
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
In questo modo, DI favorisce l'inversione del controllo (IoC) e migliora l'architettura dell'applicazione.