Déplacer un champ.
Un champ est davantage utilisé dans une autre classe que dans sa propre classe.
Créez un champ dans une nouvelle classe et redirigez vers lui tous les utilisateurs de l’ancien champ.
##Example
##Why Refactor
Souvent, les champs sont déplacés dans le cadre de la technique Extraire une classe. Décider dans quelle classe laisser le champ peut être difficile. Voici notre règle générale : placez un champ au même endroit que les méthodes qui l’utilisent (ou là où se trouve la plupart de ces méthodes).
Cette règle vous aidera dans d’autres cas où un champ se trouve tout simplement au mauvais endroit.
##How to Refactor
-
Si le champ est public, la refactorisation sera bien plus simple si vous rendez le champ privé et fournissez des méthodes d’accès publiques (pour cela, vous pouvez utiliser Encapsuler un champ).
-
Créez le même champ avec des méthodes d’accès dans la classe destinataire.
-
Décidez de la façon dont vous ferez référence à la classe destinataire. Vous disposez peut-être déjà d’un champ ou d’une méthode qui retourne l’objet approprié ; sinon, vous devrez écrire une nouvelle méthode ou un nouveau champ pour stocker l’objet de la classe destinataire.
-
Remplacez toutes les références à l’ancien champ par des appels appropriés aux méthodes de la classe destinataire. Si le champ n’est pas privé, occupez-vous-en dans la superclasse et les sous-classes.
-
Supprimez le champ dans la classe d’origine.