Maison >développement back-end >C++ >Comment la refactorisation peut-elle éliminer les dépendances entre amis dans la gestion des ressources partagées ?
Suppression et refactorisation de la dépendance ami dans une conception de gestion de ressources partagées
Dans la conception orientée objet, la dépendance « ami » introduit un couplage étroit entre les cours et soulève des problèmes de maintenance. Pour supprimer de telles dépendances tout en conservant la fonctionnalité d'une conception de gestion des ressources partagées, un processus de refactorisation en plusieurs étapes est recommandé.
Étape 1 : introduire une interface abstraite
Le La première étape consiste à remplacer la dépendance « ami » par une interface abstraite, InternalInterface, qui définit les opérations auparavant accessibles uniquement à la classe conviviale.
Étape 2 : Déplacer les opérations vers l'interface
Les opérations qui constituaient la dépendance « appel » sont déplacées de l'implémentation ClassA vers la définition InternalInterface.
Étape 3 : Connecter l'interface et l'implémentation
À fournir un accès à InternalInterface, introduire un constructeur protégé et une relation de généralisation protégée entre ClassA et InternalInterface.
Étape 4 : Coller les composants
Dans le constructeur ClassAAccessor, introduire un Méthode setInternalInterfaceRef() qui permet à ClassAAccessor d'obtenir une référence à InternalInterface de ClassA.
Étape 5 : Utiliser l'interface interne pour l'accès
Implémenter la méthode attachAccessor() dans ClassA pour transmettre la référence de l'interface interne à ClassAAccessor.
Étape 6 : Optimiser le couplage (facultatif)
Pour un découplage plus poussé, introduisez une deuxième interface, InternalClientInterface, pour servir d'intermédiaire entre ClassAAccessor et InternalInterface.
Avantages :
Inconvénients :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!