Junior
Waarvoor dient Dependency Injection in C#-ontwikkeling?
sobes.tech AI
Antwoord van AI
Dependency Injection (DI) in C# wordt gebruikt om afhankelijkheden tussen klassen te beheren, wat de flexibiliteit en testbaarheid van de code verhoogt.
Belangrijkste doelen van DI:
- Vermindering van koppeling: klassen maken hun afhankelijkheden niet direct, maar krijgen ze van buiten.
- Vereenvoudiging van testen: afhankelijkheden kunnen gemakkelijk worden vervangen door mocks of stubs.
- Verbetering van onderhoudbaarheid: het wijzigen van de implementatie van een afhankelijkheid vereist geen wijziging in de code die het gebruikt.
Voorbeeld:
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) {
// gebruikerscreatie logica
_logger.Log($"Gebruiker {name} aangemaakt.");
}
}
// Dependency injection
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
Op deze manier bevordert DI de inversie van controle (IoC) en verbetert het de architectuur van de applicatie.