Freundenabhängigkeit Entfernung refactoring
Im Bereich der Softwareentwicklung können Freunden deklarierende Problemen und Wartungsprobleme einführen. Dieser Leitfaden bietet eine detaillierte Roadmap für die ordnungsgemäße Refactoring einer Freundesabhängigkeit und verwandelt Ihre Codebasis in eine wartbarere und widerstandsfähigere Struktur. Dies mag zwar bequem erscheinen, aber es stellt mehrere Nachteile auf:
Uml 2.2 hat das Stereotyp des Freundes veraltet.
Die meisten Codierungsrichtlinien entmutigen die Verwendung von Freunden aufgrund der übermäßigen Abhängigkeit, die es erstellt. Albträume.
Schritt 2: Verschieben Sie die Operationen in die Schnittstelle
die Operationen identifizieren, die die Anrufabhängigkeit ausmachen und sie von der Klasse von classa in internInterface erweitern. ComponentsclassaAccessor benötigt einen Verweis auf internInterface. Implementieren Sie eine zusätzliche Methode, AttachAccessor (), in Classa und übergeben Sie sie über setInternalInterfaceref () einen Verweis an internInterface an classaAccessor. Diese Methode wird aufgerufen, wenn classa :: attachAccessor () aufgerufen wird.
c Implementation
// classaAccessor Definition Klasse classaAccessor { öffentlich: ClassaAccessor (classa & classa); void setInternalInterfaceref (internInterface & newValue); Privat: InternInterface* internInterfaceref; }; // Methode zum Festlegen der Referenz auf InterninInterface Classa :: AttachAccessor (ClassaAccessor & Accessor) { Accessor.SetInternalInterfaceref (*this); }
optionale Verbesserung: Einführung eines internenClientInterface
Um die Implementierung weiter zu entkoppeln, sollten Sie eine andere interneClientinterface als Vergleich zwischen classa und classaaccessor einführen. Sie können die Abhängigkeit von Freunden effektiv neu aufstellen und die Code -Stabilität, die Wartbarkeit und die Einhaltung von Best Practices kodieren. Denken Sie daran, die mit diesem Ansatz verbundenen potenziellen Nachteile sorgfältig zu bewerten, bevor Sie ihn in Ihrer eigenen Codebasis implementieren.Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3