Harlequin: Konfiguration, OOP² oder doch nur Rad² ?

Beitrag lesen

Yerf!

Dependency Injection ist das simple Vorgehen, einem Objekt, welches ein anderes Objekt braucht, dieses andere Objekt nicht im Inneren per "new" zu erzeugen, sondern als Parameter über den Konstruktor oder eine Setter-Methode hineinzureichen.

Ok, dann hab ich DI an sich zumindest mal schon verstanden.

Die Frage ist immer, wie dynamisch man sowas braucht.

Vor der Frage steh ich noch. Ich denk mal "yagni" ist die beste Antwort auf: "brauch ich es dynamisch?". Falls es sich doch anders herausstellt sollte der Aufwand für den Umbau sich auch in Grenzen halten.

Bootstrapping musst du ja sowieso bei jeder PHP-Applikation machen

Ok, ich benutz jetzt kein PHP sondern bin an einer C# Windows Forms Applikation, aber der Ansatz von Pimple ist torzdem ganz interessant.

Mit Pimple (welches ich bislang noch nicht verwenden konnte) definierst du Lambda-Funktionen, die dir das jeweilige Objekt mit seinen Abhängigkeiten erstellen, wobei die Abhängigkeiten wieder durch Lambda-Funktionen aufgelöst werden, oder durch konfigurierte feste Werte. Diese Kette von Funktionsaufrufen wird aber erst zur Laufzeit ausgeführt, wenn eines der Objekte benötigt wird.

Sowas in der Art hab ich mir auch schon überlegt. eine zentrale Stelle die abhängig von einer Konfiguration die entsprechenden Objekte liefert. Stellt sich nur die Frage, wie "zentral" diese Stelle sein soll/darf. Mir kam dafür als erstes auch ein Singleton in den Sinn...

Wäre es besser das "Config-Objekt" per DI zu übergeben? Man müsste es dann nur einmal beim Bootstrap initialisieren und jedes Objekt könnte seine Abhängigkeiten daraus entnehmen. Allerdings wäre das dann auch so ein "Eierlegende-Wollmilch-Sau-Objekt"...

Gruß,

Harlequin

--
RIP --- XHTML 2
nur die Besten sterben jung