Der heutige Artikel beschäftigt sich mit dem Entwurfsmuster “Dependency Injection”. Wer sich in PHP mit Frameworks beschäftigt wird über diesen Begriff möglicherweise schon gestolpert sein. So nutzen sowohl das Zend-Framework als auch Symphony das Entwurfsmuster um die Abhängigkeiten zwischen Systemkomponenten aufzulösen.
Die klassische Vorgehensweise ist es, dass jedes Objekt seine Abhängigkeiten (bspw. Instanzen anderer Klassen) die es verwendet selbst erzeugt. Das setzt aber vorraus, dass das Objekt weiss wie man diese verwendeten Klassen instanziiert. Dependency Injecton geht jetzt her und lagert die Erzeugung dieser Abhängigkeiten aus. Klingt erst einmal ein wenig nach Fabrikmuster, funktioniert allerdings viel allgemeingültiger. Damit ist die grundsätzliche Verwendung von Dependency Injection auch schon verraten. Doch wie und wann setzt man es praktisch ein?