9 Stimmen

Dependency Injection ohne Framework

Ich schreibe gerade ein mittelgroßes Analyseprogramm (5-10kloc) in MATLAB (nicht meine Entscheidung) und versuche, meinen Code mit Hilfe von Dependency Injection besser testbar zu machen. Ich glaube, ich verstehe das grundlegende Modell der Objekt-/Konstruktorinjektion, aber ich bin verwirrt darüber, wie sich der Abhängigkeitsgraph dadurch vergrößern lässt.

Wenn ich z. B. ein Objekt A habe, das ein Objekt B hat, das ein Objekt C hat, und Objekt C hat eine Abhängigkeit, die injiziert werden muss, muss ich es dann durch die gesamte Kette schicken? Da es sich um ein Datenanalyseprogramm handelt und alles auf ein AnalyzeData-Objekt bzw. eine AnalyzeData-Methode zurückgeht, bedeutet dies, dass für dieses Objekt alle Abhängigkeiten des gesamten Programms injiziert werden müssen?

Vielleicht ist die Antwort einfach eine ServiceFactory/ServiceProvider in diesem Fall zu verwenden, aber ich würde gerne wissen, ob es möglich ist, viele Abhängigkeiten bis zu einem großen Objektdiagramm ohne ein Framework zu skalieren.

Auch Korrekturen an meinem Denken/Wortlaut/Grundlagen sind erwünscht - ich habe das meiste davon über Google/HN/SO gelernt.

0voto

Anton Gogolev Punkte 109749

Ich habe keine Ahnung von Matlab, aber ich gehe davon aus (nach Ihren Worten), dass es Objekte gibt. Wenn ja, dann nimm eine Service-Suchmaschine anstelle von Dependency Injection. Service Locators sind sehr einfach zu implementieren, sodass keine Frameworks erforderlich sind.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X