外观模式:外观模式的意图是为系统中的大量对象提供一个一致的对外接口,以简化系统的使用。它提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。但外观并不屏蔽系统里的对象,如果需要,用户完全可以越过外观的包装使用底层对象以获得更灵活的功能。
外观模式结构图如下:

给出一个简单的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