C++设计模式之十:Facade(外观)

来源:互联网 发布:手机分享网络给电脑 编辑:程序博客网 时间:2024/06/04 20:07

一、意图:

为子系统提供一致的界面,Facade定义高层接口,从而使子系统的使用更加方便;

二、类图(截图自《大话设计模式》):

三、组成元素:

Facade:代理客户请求给子系统;

SubSys:子系统;

四、代码实现:

#include<iostream>#include <string>using namespace std;//系统类class SubSysOne{public:void MethodOne(){cout<<"MethodOne"<<endl;}};class SubSysTwo{public:void MethodTwo(){cout<<"MethodTwo"<<endl;}};class SubSysThree{public:void MethodThree(){cout<<"MethodThree"<<endl;}};//外观类class Facade{private:SubSysOne* sub1;SubSysTwo* sub2;SubSysThree* sub3;public:Facade(){sub1 = new SubSysOne();sub2 = new SubSysTwo();sub3 = new SubSysThree();}~Facade(){delete sub1;delete sub2;delete sub3;}void FacadeMethod(){sub1->MethodOne();sub2->MethodTwo();sub3->MethodThree();}};//客户端void main(){Facade* test = new Facade();test->FacadeMethod();}



原创粉丝点击