Nous voulions initialement implémenter un modèle de stratégie avec différentes implémentations des méthodes dans une interface commune. Ceux-ci seront récupérés lors de l'exécution en fonction des entrées de l'utilisateur.
Il s'est avéré que nous avons des classes abstraites qui implémentent 3 à 5 méthodes communes et une seule méthode pour une implémentation variable, à savoir la stratégie.
Mise à jour: Par de nombreuses classes abstraites, je veux dire qu'il y a 6 fonctionnalités différentes de haut niveau, c'est-à-dire 6 packages, et chacune a son Interface + AbstractImpl + (série d'Impl réelle).
Est-ce une mauvaise conception de quelque façon que ce soit?
Toute opinion négative en termes d'extensibilité ultérieure - Je me prépare pour une révision du code / design avec les seniors.
la source