Dependency Injection
Eine Komponente erhält benötigte Abhängigkeiten von außen, statt konkrete Umsetzungen selbst zu erzeugen.
Was bedeutet Dependency Injection?
Bei Dependency Injection erhält eine Komponente benötigte Abhängigkeiten von außen, etwa als Parameter ihres Konstruktors. Sie muss die konkrete Umsetzung dann nicht selbst erzeugen. Die Zusammenstellung der Teile wird von ihrer Nutzung getrennt. Das kann mit gewöhnlichem Programmcode erfolgen; ein spezieller DI-Container ist für das Prinzip nicht erforderlich.
In einem erfundenen Beispiel bekommt eine Berichtskomponente einen Datenleser übergeben. Im Betrieb liest dieser aus der vorgesehenen Quelle; für einen gezielten Test kann eine passende Testimplementierung feste Daten liefern. Das erleichtert die isolierte Prüfung, belegt aber nicht die korrekte Anbindung der echten Quelle. Lebensdauer, Konfiguration und Freigabe benötigter Ressourcen bleiben zu klären. DI ist eine konkrete Form der Steuerungsumkehr; nicht jede Steuerungsumkehr und nicht jeder Service Locator ist DI.
Quellen
Verwandte Begriffe
- Clean ArchitectureGeschäftsregeln von äußeren Details trennen und Quellcodeabhängigkeiten zum Kern ausrichten.
- Unit-TestEine gezielte Prüfung eines kleinen, festgelegten Teils der Software, etwa einer Regel oder Funktion.
- EntwurfsmusterEine wiederverwendbare Lösungsstruktur für ein wiederkehrendes Entwurfsproblem mit eigenen Abwägungen.
- Cache StampedeEin Cache Stampede entsteht, wenn gleichzeitige Anfragen dieselben Daten im Cache nicht finden und dieselbe teure Arbeit mehrfach starten.
- BackpressureBackpressure passt den Datenzufluss an die Verarbeitungskapazität des Empfängers an, indem dieser eine Verlangsamung oder Pause signalisiert.
- Race ConditionEin fehlerhaftes Ergebnis hängt von der zeitlichen Reihenfolge überlappender Zugriffe ab.
Ihr Vorhaben mit ASES
Beschreiben Sie uns Ihr Vorhaben. Wir melden uns mit einer ersten Einschätzung.