Inizialmente volevamo implementare un modello di strategia con diverse implementazioni dei metodi in un'interfaccia comune. Questi verranno raccolti in fase di esecuzione in base agli input dell'utente.
Come si è scoperto, stiamo avendo classi astratte che implementano 3-5 metodi comuni e solo un metodo rimasto per un'implementazione variabile, ad esempio la strategia.
Aggiornamento: Per molte classi astratte intendo che ci sono 6 diverse funzionalità di alto livello, cioè 6 pacchetti, e ognuna ha la sua interfaccia + AbstractImpl + (serie di Actual Impl).
È un cattivo design in qualche modo?
Qualsiasi opinione negativa in termini di estensibilità successiva: mi sto preparando per una revisione del codice / design con gli anziani.