Extraire l'interface.
Plusieurs clients utilisent la même partie de l'interface d'une classe. Autre cas : une partie de l'interface est identique dans deux classes.
Déplacez cette portion identique dans sa propre interface.
##Example
##Why Refactor
-
Les interfaces sont très pertinentes lorsque les classes jouent des rôles particuliers dans différentes situations. Utilisez Extraire l'interface pour indiquer explicitement quel rôle.
-
Un autre cas pratique se présente lorsque vous devez décrire les opérations qu'une classe effectue sur son serveur. S'il est prévu d'autoriser à terme l'utilisation de serveurs de plusieurs types, tous les serveurs doivent implémenter l'interface.
##How to Refactor
-
Créez une interface vide.
-
Déclarez les opérations communes dans l'interface.
-
Déclarez les classes nécessaires comme implémentant l'interface.
-
Modifiez les déclarations de type dans le code client pour utiliser la nouvelle interface.