Zum Inhalt springen
uencoder

Dependency Injection

Dependency Injection verlagert die Erzeugung und Verdrahtung von Abhängigkeiten in einen externen Container; Komponenten erhalten Abhängigkeiten über Konstruktor/Property/Schnittstelle und entkoppeln so die Aufrufer.

Zweck

Modulkopplung senken und Testbarkeit sowie Konfigurierbarkeit verbessern — die Umsetzung des DIP aus SOLID.

Mechanismus

Konstruktor-Injektion: der Konstruktor empfängt Abhängigkeiten. Property-Injektion: Setter weisen sie zu. Schnittstellen-Injektion: Implementieren einer Schnittstelle, um sie zu erhalten. Ein Container (Spring/DI-Frameworks) injiziert nach Konfiguration. Inversion of Control (IoC) ist der Kerngedanke.

Anwendungsfälle

  • Entkoppeltes Design
  • Unit-Tests
  • Framework-Design

Verwandte Begriffe

References