Hiérarchies d'héritage parallèles.
Chaque fois que vous créez une sous-classe pour une classe, vous vous retrouvez à devoir créer une sous-classe pour une autre classe.
##Signes et symptômes
Chaque fois que vous créez une sous-classe pour une classe, vous vous retrouvez à devoir créer une sous-classe pour une autre classe.

abstract class Engine {}
class CarEngine extends Engine {}
class TruckEngine extends Engine {}
abstract class EngineView {}
class CarEngineView extends EngineView {}
class TruckEngineView extends EngineView {}
// ajouter BusEngine oblige à ajouter aussi BusEngineView##Causes du problème
Tout allait bien tant que la hiérarchie restait petite. Mais avec l'ajout de nouvelles classes, les modifications sont devenues de plus en plus difficiles.
##Traitement
Refactoriser avec
##Bénéfices
-
Réduit la duplication de code.
-
Peut améliorer l'organisation du code.
