Sobes.tech
Intern — Junior

Waarvoor wordt dependency injection gebruikt in softwaremodules?

sobes.tech AI

Antwoord van AI

Dependency Injection (DI) wordt gebruikt om de modulariteit en testbaarheid van softwaremodules te verbeteren. In plaats van afhankelijkheden binnen de klasse te creëren, worden ze van buitenaf doorgegeven, waardoor het gemakkelijk is om implementaties te vervangen, en de onderhoud en uitbreiding van de code wordt vereenvoudigd.

Bijvoorbeeld, in C# met DI, kan je de implementatie van een interface doorgeven aan de constructor van de klasse:

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 voor het aanmaken van een gebruiker
        _logger.Log($"Gebruiker {name} aangemaakt.");
    }
}

Deze aanpak maakt het gemakkelijk om de logger te vervangen door een andere (bijvoorbeeld, een bestand) zonder de UserService-klasse te wijzigen.