Abhängigkeitsinjektion durch Konstruktoren oder Eigenschaftssetzer?

Ich überarbeite eine Klasse und füge ihr eine neue Abhängigkeit hinzu. Die Klasse übernimmt derzeit die 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. Jetzt spiele ich das Spiel, alle Konstruktoren so zu ändern, dass sie übereinstimmen, und es dauert ewig.
Ich bin der Meinung, dass die Verwendung von Eigenschaften mit Setzern eine bessere Möglichkeit ist, Abhängigkeiten zu ermitteln. 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 alle Ihre Benutzer (Unterklassen und alle, die Sie direkt instanziieren) plötzlich davon. Das fühlt sich an wie eine Kapselungspause.

Dies scheint nicht das Muster mit dem vorhandenen Code zu sein, daher möchte ich herausfinden, wie der allgemeine Konsens lautet, Vor- und Nachteile von Konstruktoren im Vergleich zu Eigenschaften. Ist die Verwendung von Eigenschaftssetzern besser?

Antworten auf die Frage(14)

Ihre Antwort auf die Frage