Sobes.tech
Intern — Junior

Wofür wird die Dependency Injection in Softwaremodulen verwendet?

sobes.tech KI

Antwort von AI

Dependency Injection (DI) wird verwendet, um die Modularität und Testbarkeit von Softwaremodulen zu verbessern. Anstatt Abhängigkeiten innerhalb der Klasse zu erstellen, werden sie von außen übergeben, was es ermöglicht, Implementierungen leicht zu ersetzen, die Wartung zu vereinfachen und den Code zu erweitern.

Zum Beispiel kann in C# mit DI die Implementierung eines Interfaces an den Konstruktor der Klasse übergeben werden:

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) {
        // Logik zur Benutzererstellung
        _logger.Log($"Benutzer {name} erstellt.");
    }
}

Dieser Ansatz erleichtert den Austausch des Loggers durch einen anderen (z.B. Dateilogger), ohne die Klasse UserService zu ändern.