您的位置:首页 > 其它

设计模式之十一------Facade(外观)

2012-10-23 08:58 239 查看
问题:

在实际应用中,我们可能封装了很多类,但是这些类只是一个业务的各个步骤,如果让客户端一个一个去调用这些接口,是非常繁琐的一件事。我们应该简化客户端的操作。

解决方案:

我们可以设计一个类:这个类组合了所有的必须的类,然后在一个方法中调用所有的实现,并把这个类提供给客户端,这就是Facade模式(外观)

源代码:

//This a programme about facade

#include <IOSTREAM>

using namespace std;

class SubSystem1{

public:

SubSystem1(){}

~SubSystem1(){}

void Operator(){

cout<<"SubSystem1...."<<endl;

}

};

class SubSystem2{

public:

SubSystem2(){}

~SubSystem2(){}

void Operator(){

cout<<"SubSystem2...."<<endl;

}

};

class Facade{

public:

Facade(){}

~Facade(){}

void OperateWrapper(){

sub1->Operator();

sub2->Operator();

}

private:

SubSystem1 *sub1;

SubSystem2 *sub2;

};

void main()

{

Facade *facade=new Facade;

facade->OperateWrapper();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: