Zastrzyk zależności za pomocą konstruktorów lub ustawników właściwości?

Refaktoryzuję klasę i dodaję do niej nową zależność. Klasa obecnie bierze swoje istniejące zależności w konstruktorze. Tak więc dla spójności dodaje parametr do konstruktora.
Oczywiście, istnieje kilka podklas plus jeszcze więcej do testów jednostkowych, więc teraz gram w grę polegającą na zamianie wszystkich konstruktorów, aby pasowali, i trwa to całe wieki.
To sprawia, że ​​myślę, że używanie właściwości z setterami jest lepszym sposobem uzyskiwania zależności. Nie sądzę, aby wstrzykiwane zależności były częścią interfejsu do konstruowania instancji klasy. Dodajesz zależność i teraz wszyscy twoi użytkownicy (podklasy i każdy, kto tworzy ciebie bezpośrednio) nagle o tym wiedzą. To jest jak przerwa w hermetyzacji.

Wydaje się, że nie jest to wzorzec z istniejącym tutaj kodem, więc szukam, aby dowiedzieć się, jaki jest ogólny konsensus, plusy i minusy konstruktorów i właściwości. Czy korzystasz z ustawników właściwości?

questionAnswers(14)

yourAnswerToTheQuestion