Modification divergente.
Vous vous retrouvez à devoir modifier de nombreuses méthodes sans rapport entre elles lorsque vous apportez des changements à une classe. Par exemple, lors de l'ajout d'un nouveau type de produit, vous devez modifier les méthodes de recherche, d'affichage et de commande des produits.
##Signes et symptômes
Vous vous retrouvez à devoir modifier de nombreuses méthodes sans rapport entre elles lorsque vous apportez des changements à une classe. Par exemple, lors de l'ajout d'un nouveau type de produit, vous devez modifier les méthodes de recherche, d'affichage et de commande des produits.

class Order {
void applyVat2024() {}
void applyVat2025() {}
void formatEuInvoice() {}
void formatUsInvoice() {}
}##Causes du problème
Ces modifications divergentes sont souvent dues à une mauvaise structure du programme ou à de la « programmation par copier-coller ».
##Traitement
##Bénéfices
-
Améliore l'organisation du code.
-
Réduit la duplication de code.
-
Simplifie la maintenance.