Mudança Divergente.
Você se vê tendo que alterar muitos métodos não relacionados ao fazer mudanças em uma classe. Por exemplo, ao adicionar um novo tipo de produto, você precisa alterar os métodos para encontrar, exibir e fazer pedidos de produtos.
##Signs and Symptoms
Você se vê tendo que alterar muitos métodos não relacionados ao fazer mudanças em uma classe. Por exemplo, ao adicionar um novo tipo de produto, você precisa alterar os métodos para encontrar, exibir e fazer pedidos de produtos.

##Reasons for the Problem
Muitas vezes, essas modificações divergentes se devem a uma estrutura de programa ruim ou à "programação copia-e-cola”.
##Payoff
-
Melhora a organização do código.
-
Reduz a duplicação de código.
-
Simplifica o suporte.