Sobes.tech
Junior

Wozu dient Dependency Injection in der C#-Entwicklung?

sobes.tech KI

Antwort von AI

Dependency Injection (DI) in C# wird verwendet, um Abhängigkeiten zwischen Klassen zu verwalten, was die Flexibilität und Testbarkeit des Codes erhöht.

Hauptziele von DI:

  • Entkopplung verringern: Klassen erstellen ihre Abhängigkeiten nicht direkt, sondern erhalten sie von außen.
  • Testvereinfachung: Abhängigkeiten können leicht durch Mocks oder Stubs ersetzt werden.
  • Wartbarkeit verbessern: Änderungen an der Implementierung einer Abhängigkeit erfordern keine Änderungen am Code, der sie verwendet.

Beispiel:

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

// Dependency Injection
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");

Auf diese Weise fördert DI die Inversion der Steuerung (IoC) und verbessert die Architektur der Anwendung.