Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

Dependency Injection: Injektion bestehender Objekte in ein neues

  Alt 29. Aug 2012, 12:59
Hallo zusammen,

habe da eine allgemeine Frage zum Thema Dependency Injection. Und zwar geht es im Speziellen um folgenden Sachverhalt: ich programmiere eine Anwendung, die Daten aus SAP lädt und anzeigt. Ich habe eine Application-Klasse, die in der Run-Methode eine Verbindung zu SAP aufbaut. Ist dies geglückt erstelle ich einen Daten-Controller, der Daten über die vorhandene Verbindung lädt und dann in der View darstellt.

So, nun habe ich, ausgehend von der Application-Klasse, die Abhängigkeiten zur SAP-Verbindungs-Klasse und der Controller-Klasse. Der Controller wiederum hängt von der SAP-Verbindungs-Klasse ab.

Habe bisher alles via Konstruktur-Injektion umgesetzt, da ich bisher die etwas naive Sicht gefahren habe, dass jede Klasse, die spezielle Komponenten benötigt, im Konstruktor nach einer passenden Instanz fragt. In meinem Beispiel stoße ich nun aber auf das Problem, dass ich die Application-Klasse eine SAP-Verbindungs-Instanz injiziert bekommt und genau diese soll auch automatisch in den Controller injiziert werden.

Ich könnte nun fragen, wie ich das am sinnvollsten hinbekomme, ohne dass ich jede Schnittstelle mit beliebig vielen Settern aufblase und dann die Eigenschaften immer manuell setze und im Code auf eine vorhandene Instanz prüfe. Ich glaube aber eher, dass ich einen Denkfehler bzgl. meinem Vorgehen habe, da ich doch eher neuer in dem Bereich DI bin. Bitte um Klärung, wie es gemacht werden sollte
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat