Adaptermuster (Adapter): Konvertieren Sie die Schnittstelle einer Klasse in eine andere vom Kunden gewünschte Schnittstelle. Das Adaptermuster ermöglicht die Zusammenarbeit von Klassen, die andernfalls aufgrund inkompatibler Schnittstellen nicht zusammenarbeiten würden.
Wann das Adaptermuster verwendet werden soll:
Es wird benötigt, wenn zwei Klassen das Gleiche oder Ähnliches tun, aber unterschiedliche Schnittstellen haben.
Verwenden Sie den Adaptermodus, wenn es für beide Parteien nicht einfach ist, Änderungen vorzunehmen.
Musterimplementierung:
[code]//Target class Target{ public: virtual void Request(){ std::cout << "Target::Request\n"; } }; //Adaptee适配(者)的类 class Adaptee{ public: void SpecificRequest(){ std::cout << "Adaptee::SpecificRequest\n"; } }; //Adapter,适配器 class Adapter: public Target, Adaptee{ public: void Request(){ Adaptee::SpecificRequest(); } };
Kunde:
[code]//Client int main(){ Target *targetObj = new Adapter(); targetObj->Request(); //Output: Adaptee::SpecificRequest delete targetObj; targetObj = NULL; return 0; }
Das Obige ist der Inhalt des C++-Entwurfsmusters, eine kurze Einführung in das Adaptermuster. Weitere verwandte Inhalte finden Sie hier Bitte achten Sie auf PHP Chinese Net (www.php.cn)!