ConstructiCat Logo
CodeBust.
Browse section ▾

Intégrer la classe.

Problem

Une classe ne fait presque rien et n’est responsable de rien, et aucune responsabilité supplémentaire n’est prévue pour elle.

Solution

Déplacez toutes les fonctionnalités de la classe vers une autre.

##Example

Avant
Person namegetTelephoneNumber() TelephoneNumber officeAreaCodeofficeNumbergetTelephoneNumber() 1
Après
Person nameofficeAreaCodeofficeNumbergetTelephoneNumber()

##Why Refactor

  • Cette technique est souvent nécessaire après que les fonctionnalités d’une classe ont été « transplantées » vers d’autres classes, laissant cette classe avec peu de choses à faire.

##Benefits

  • Éliminer les classes superflues libère de la mémoire vive sur l’ordinateur — et de la bande passante dans votre tête.

##How to Refactor

  1. Dans la classe destinataire, créez les champs et méthodes publics présents dans la classe donneuse. Les méthodes doivent renvoyer vers les méthodes équivalentes de la classe donneuse.

  2. Remplacez toutes les références à la classe donneuse par des références aux champs et méthodes de la classe destinataire.

  3. Testez maintenant le programme et assurez-vous qu’aucune erreur n’a été introduite. Si les tests montrent que tout fonctionne parfaitement, commencez à utiliser Déplacer une méthode et Déplacer un champ pour transférer entièrement toutes les fonctionnalités de la classe d’origine vers la classe destinataire. Continuez ainsi jusqu’à ce que la classe d’origine soit complètement vide.

  4. Supprimez la classe d’origine.