Dependency Injection.
Dependency Injection ist ein Software-Entwurfsmuster im Drupal-CMS, das die Entkopplung von Komponenten voneinander ermöglicht. Dabei erhält eine Komponente ihre Abhängigkeiten, statt selbst nach ihnen zu suchen. Das erleichtert Pflege und Test des Codes und macht ihn flexibler und erweiterbarer.
In Drupal dient Dependency Injection dazu, Komponenten mit den Diensten zu versorgen, die sie für ihren Betrieb brauchen. Dazu werden die Dienste als Argumente an den Konstruktor der Komponente übergeben. So lässt sich die Komponente in verschiedenen Kontexten einsetzen, denn die Dienste können ausgetauscht werden, ohne die Komponente selbst zu ändern.
Dependency Injection dient auch dazu, Komponenten mit Konfigurationsoptionen zu versorgen. Dazu wird ein Konfigurationsobjekt an den Konstruktor der Komponente übergeben. So lässt sich die Komponente in verschiedenen Kontexten einsetzen, denn die Konfiguration kann ausgetauscht werden, ohne die Komponente selbst zu ändern.
Dependency Injection ist ein wichtiger Bestandteil der Drupal-Architektur, denn es entkoppelt Komponenten voneinander und erleichtert Pflege und Test des Codes. Es erleichtert auch Erweiterung und Anpassung des Codes, denn Komponenten lassen sich leicht durch andere Implementierungen ersetzen.