Ich habe jetzt manuelle Konstruktoreinspritzung DI für ein kleines bisschen benutzt. Eine Sache, die ich bemerke, ist, dass meine Konstruktoren anfangen, ziemlich lang zu werden.Konstruktorinjektion: Wie viele Abhängigkeiten sind zu viele?
Ich habe eine Klasse, die auf eine Reihe kleiner Objekte angewiesen ist - irgendwo zwischen 6 und 10 manchmal. Als ich fortfuhr, meine Anwendung in kleinere Stücke zu brechen, konnte ich diese Zahl im Laufe der Zeit wachsen sehen. Ist das ein häufiges Problem?
Offensichtlich hängt dies sehr von dem Projekt ab. Die grundlegende Frage ist jedoch:
Wann fängst du an, mit der Anzahl der Abhängigkeiten, die eine Klasse hat, unbehaglich zu werden? Mit welchen Strategien reduzieren Sie diese Abhängigkeiten?
Was ist, wenn Sie keine logische Möglichkeit finden, sie in mehrere Klassen wie WW zu gruppieren? erwähnt? Stimmen Sie zu, dass es dann in Ordnung ist, viele Abhängigkeiten zu haben? Ich meine, sagen wir Abhängigkeiten sind Automarken: BMW, OPEL, VW usw. Sie sind alle Autos. Vielleicht nicht das beste Beispiel, aber ich hoffe, Sie bekommen die Idee. –
@ Darius.V - Wenn Sie eine 'Cars' Klasse haben, die 50 Markenabhängigkeiten hat, dann haben Sie eindeutig die SRP verletzt. Sie müssen sie in gemeinsame Merkmale gruppieren (z. B. 'ElectricCars',' HybridCars', 'DieselCars',' GasolineCars'), sodass Ihre Top-Level-Klasse 'Cars' nur einige Abhängigkeiten hat, die jeweils gemeinsame Eigenschaften und Methoden haben. Darunter können Sie das [Strategie-Muster] (https://stackoverflow.com/a/31971691) verwenden, um mehrere ähnliche Autos zu einer einzigen Abhängigkeit zu vereinfachen (zum Beispiel haben Sie nur eine einzige "BenzinCarsStrategy", die in Ihre Autos eingespritzt wird) Klasse, die alle Gasautos verwaltet). – NightOwl888