Podczas pisania wytycznych do kodu dla firmy zaleciłem użycie wzorca Builder z Effective Java zamiast konstruktorów teleskopowych.
Jednak po zastanowieniu się nad tym nieco bardziej eleganckim rozwiązaniem z pewnością jest po prostu usunięcie klasy konstruktora, a także usunięcie dodatkowych konstruktorów z opcjonalnymi argumentami.
Wystarczy więc mieć jednego konstruktora z wymaganymi parametrami, normalnymi modułami pobierającymi / ustawiającymi i komentować kod. Podczas implementacji wystarczy utworzyć nową instancję obiektu yr, a następnie ustawić wartości.
Moje pierwotne myślenie polegało na usunięciu nieporozumień dotyczących tego, które parametry były opcjonalne i jakie były wymagane; jednak prawdziwa korzyść wynika z zastosowania metody łączenia łańcuchów / płynnego interfejsu.
Wzorzec konstruktora ma zalety, gdy tworzysz wiele nowych instancji, ponieważ ide może wykonywać pracę nóg, a także, jeśli istnieje wiele (15+) parametrów opcjonalnych. Czy jednak warto poświęcić dodatkowy czas na kodowanie statycznej klasy wewnętrznej, czy zaleciłbyś użycie konstruktora, czy to strata czasu?