Jerarquías de herencia paralelas.
Cada vez que creas una subclase para una clase, te ves obligado a crear una subclase para otra clase.
##Signos y síntomas
Cada vez que creas una subclase para una clase, te ves obligado a crear una subclase para otra clase.

abstract class Engine {}
class CarEngine extends Engine {}
class TruckEngine extends Engine {}
abstract class EngineView {}
class CarEngineView extends EngineView {}
class TruckEngineView extends EngineView {}
// añadir BusEngine obliga a añadir también BusEngineView##Causas del problema
Todo iba bien mientras la jerarquía se mantenía pequeña. Pero, a medida que se añaden nuevas clases, hacer cambios se ha vuelto cada vez más difícil.
##Tratamiento
Refactorizar con
##Beneficios
-
Reduce la duplicación de código.
-
Puede mejorar la organización del código.
