外观(Facade)模式也称门面模式,是向用户提供统一接口,再由接口类使用各种子系统类提供服务的模式。
以下代码定义了两个子系统,它们有各自的操作。
#include <iostream>
using namespace std;
class SubSystemA
{
public:
void Operation()
{
cout<<__PRETTY_FUNCTION__<<endl;
}
};
class SubSystemB
{
public:
void Operation()
{
cout<<__PRETTY_FUNCTION__<<endl;
}
};
以下代码定义了“门面”类,它使用两个子系统类实现了它的操作,用户只要使用这个类就可以不必知道子系统的存在而完成自己需要的操作。
class Facade
{
public:
void Operation()
{
SubSystemA SSA;
SubSystemB SSB;
SSA.Operation();
SSB.Operation();
}
};
以下代码使用了门面。
int main(void){
Facade F;
F.Operation();
return 0;
}
输出
void SubSystemA::Operation()
void SubSystemB::Operation()
网友评论