Hierarquias de Herança Paralelas.
Sempre que você cria uma subclasse para uma classe, percebe que precisa criar uma subclasse para outra classe.
##Sinais e sintomas
Sempre que você cria uma subclasse para uma classe, percebe que precisa criar uma subclasse para outra classe.

abstract class Engine {}
class CarEngine extends Engine {}
class TruckEngine extends Engine {}
abstract class EngineView {}
class CarEngineView extends EngineView {}
class TruckEngineView extends EngineView {}
// adicionar BusEngine obriga a adicionar também BusEngineView##Causas do problema
Tudo ia bem enquanto a hierarquia permanecia pequena. Mas, com a adição de novas classes, fazer alterações tem se tornado cada vez mais difícil.
##Tratamento
Refatorar com
##Benefícios
-
Reduz a duplicação de código.
-
Pode melhorar a organização do código.
