外观模式:外观模式的意图是为系统中的大量对象提供一个一致的对外接口,以简化系统的使用。它提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。但外观并不屏蔽系统里的对象,如果需要,用户完全可以越过外观的包装使用底层对象以获得更灵活的功能。
外观模式结构图如下:
给出一个简单的C++实现
#include<iostream> using namespace std; class SubSystemA { public: SubSystemA(){} ~SubSystemA(){} void Operation() { cout<<"SubSystemA operating!"<<endl; } }; class SubSystemB { public: SubSystemB(){} ~SubSystemB(){} void Operation() { cout<<"SubSystemB operating!"<<endl; } }; class Facade { private: SubSystemA* pSubSyatemA; SubSystemB* pSubSystemB; public: Facade() { pSubSyatemA = new SubSystemA(); pSubSystemB = new SubSystemB(); } ~Facade() { delete pSubSyatemA; delete pSubSystemB; } void Operation() { pSubSyatemA->Operation(); pSubSystemB->Operation(); } }; int main() { Facade *f =new Facade(); f->Operation(); delete f; return 0; }
Facade外观模式(C++实现),布布扣,bubuko.com
原文地址:http://www.cnblogs.com/flyingsnail/p/3822630.html