Frage zu Dependency Injection (mit Framework)

dermoritz

Bekanntes Mitglied
ich bin gerade am Rumprobieren mit Dependency Injection als Framework benutze ich Guice - das sollte hier aber unerheblich sein.

Meine Frage betrifft den Umbau von Konstruktoren ein Beispiel:

ohne DI:
Java:
public class MyClass {
    private C1 c1 = new C1impl();
    private C2 c2 = new C2impl();
    private SomeClass parameter;
    public MyClass(SomeClass parameter){
        this.parameter =parameter;
   ...
   }
...
}

mit DI:

Java:
public class MyClass {
    private C1 c1;
    private C2 c2;
    private SomeClass parameter;
    @Inject
    public MyClass(SomeClass parameter, C1 c1, C2 c2){
        this.parameter =parameter;
        this.c1=c1;
        this.c2=c2;
   ...
   }
...
}

Die Frage die sich mir stellt betrifft natürlich "parameter" - der soll nicht injiziert werden. Was soll ich mit dem machen?

Nun habe ich etwas über DI gelesen aber immer nur gefunden, dass man die Abhängigkeiten eben im Constructor sichtbar machen soll, aber was mit den normalen Parametern passieren soll steht nirgends.
Ich scheue mich etwas davor den Parameter über einen Setter zu setzen (ohne ihn ist die Instanz sinnlos). Nun frage ich mich wie das "best practice"-pattern dazu aussieht.
 
Wie willst du den den normalen Parameter über den Konstruktor übergeben, wenn dir das DI Framework die Instanz erzeugt?

Ich bin für den setter
 
ich hab es für den Moment mit Setter gelöst aber der Tip Tomate ist glaub genau das was man braucht (nur soll man nun das) verwenden.

Danke - ich meld' mich bei (Miss)Erfolg
 

Zurück
Oben