Logotipo do ConstructiCat
CodeBust.
Explorar a seção ▾

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.

##Sinais e sintomas

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.

class Order {
  void applyVat2024() {}
  void applyVat2025() {}
  void formatEuInvoice() {}
  void formatUsInvoice() {}
}

##Causas do problema

Muitas vezes, essas modificações divergentes se devem a uma estrutura de programa ruim ou à “programação copia-e-cola”.

##Tratamento

##Benefícios

  • Melhora a organização do código.

  • Reduz a duplicação de código.

  • Simplifica o suporte.