Ich überarbeite eine Klasse und füge ihr eine neue Abhängigkeit hinzu. Die Klasse übernimmt derzeit ihre vorhandenen Abhängigkeiten im Konstruktor. Aus Gründen der Konsistenz füge ich den Parameter dem Konstruktor hinzu.
Natürlich gibt es ein paar Unterklassen und noch mehr für Unit-Tests, also spiele ich jetzt das Spiel, alle Konstruktoren so zu ändern, dass sie übereinstimmen, und es dauert ewig.
Ich denke, dass die Verwendung von Eigenschaften mit Setzern ein besserer Weg ist, um Abhängigkeiten zu erhalten. Ich denke nicht, dass injizierte Abhängigkeiten Teil der Schnittstelle zum Erstellen einer Instanz einer Klasse sein sollten. Sie fügen eine Abhängigkeit hinzu und jetzt wissen plötzlich alle Ihre Benutzer (Unterklassen und alle, die Sie direkt instanziieren) davon. Das fühlt sich wie eine Unterbrechung der Kapselung an.
Dies scheint nicht das Muster mit dem hier vorhandenen Code zu sein, daher möchte ich herausfinden, was der allgemeine Konsens ist, welche Vor- und Nachteile Konstruktoren gegenüber Eigenschaften haben. Ist die Verwendung von Eigenschaftssetzern besser?