Sobes.tech
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.