J'ai une classe de base et une classe dérivée en phase de conception. La classe de base restera une mais beaucoup de classes dérivées en hériteront. Il est donc très coûteux de changer les classes dérivées dans le futur et je cherche le meilleur design pour éviter cela.Stratégie d'héritage lors de la conception de la classe de base
En fait, la classe dérivée n'a besoin que de quelques méthodes à remplacer (si nécessaire), mais il est tentant de lui révéler plus de détails.
Ma question concerne la politique qui est extensible à l'avenir. Puis-je réduire les méthodes/propriétés héritées à la classe dérivée et en révéler davantage dans les versions suivantes si nécessaire sans modifier les classes dérivées? Ou est-ce que je devrais révéler quelque chose qui pourrait être utilisé par les classes dérivées dans le futur et les laisser choisir s'ils en ont besoin ou pas?
Merci
Pas d'API, c'est entièrement sous mon contrôle. Les classes dérivées implémentent également une interface qui est également implémentée par la classe de base bien sûr. – Xaqron