Początkowo chcieliśmy wdrożyć wzorzec strategii z różnymi implementacjami metod w interfejsie komunikacyjnym. Zostaną one odebrane w czasie wykonywania na podstawie danych wejściowych użytkownika.
Jak się okazało, mamy klasy abstrakcyjne implementujące 3 - 5 typowych metod i pozostała tylko jedna metoda dla różnych implementacji, tj. Strategia.
Aktualizacja: Przez wiele klas abstrakcyjnych mam na myśli 6 różnych funkcji wysokiego poziomu, tj. 6 pakietów, a każda z nich ma swój interfejs + AbstractImpl + (seria Actual Impl).
Czy to w jakiś sposób jest zły projekt?
Wszelkie negatywne opinie w zakresie późniejszej rozszerzalności - przygotowuję się do przeglądu kodu / projektu z seniorami.
źródło