Ich bin daran interessiert, Abhängigkeitsinjektion zu meinem aktuellen Projekt, das das MVC-Muster verwendet, anzuwenden.Wie vermeidet man Abhängigkeiten in ein Objekt zu injizieren, um es weiterzugeben?
Meine Controller rufen die Modelle auf und müssen daher die Abhängigkeiten in die Modelle einfügen. Zu diesem Zweck muss der Controller die Abhängigkeiten (z. B. ein Datenbankobjekt) an erster Stelle haben. Der Controller muss einige dieser Abhängigkeiten (wie das Datenbankobjekt) nicht verwenden, daher sollte diese Abhängigkeit nicht gegeben sein. Es muss jedoch diese Abhängigkeiten haben, wenn sie in die Modellobjekte injiziert werden sollen.
Wie kann ich verhindern, dass Abhängigkeiten in ein Objekt injiziert werden, nur um sie weiterzugeben? Dies ist falsch und kann dazu führen, dass viele Abhängigkeiten in ein Objekt injiziert werden.
Edit: Ich benutze PHP.
Ich verstehe nicht ganz, was Sie vorschlagen, sollte ich mit Ihrer ersten Option tun. Bündeln Sie die Abhängigkeiten zusammen und übergeben Sie sie als eine Einheit? –
Das ist eine Option. Der Hauptpunkt ist jedoch, dass der Konsument die Abhängigkeit überhaupt nicht erzeugen soll, sondern sie anfordern soll, indem er sie als Konstruktorparameter benötigt. –
Bündelt die Abhängigkeiten nicht zusammen und übergibt sie an den Controller so ziemlich wie sie alle einzeln übergeben? Es ist eine andere Art, es zu tun, aber Sie übergeben noch Abhängigkeiten an den Controller, den es nicht verwendet. Ich denke, ich hätte vielleicht mißverstanden, was du meintest! –