外观模式(Facade)
来源:互联网 发布:全能抽奖软件序列号 编辑:程序博客网 时间:2024/05/04 03:22
意图
为子系统中的一组接口提供一个一致的界面。
定义了一个高层接口,这个接口使得这一子系统更加容易使用
应用场景
- 实现平台无关性。跨平台跨库的函数调用。
- 同一个接口去读取不同的资源。
- 硬件自动识别处理系统。
类图
参与者
- Facade
知道哪些子系统类负责处理请求
将客户的请求代理给适当的子系统对象 - Subsystem classes
实现子系统的功能
处理由Facade对象指派的任务
没有Facade的任何相关信息:即没有指向Facade的指针
代码
#include <iostream>
using namespace std;
class SubSystemA
{
public:
void FunctionA()
{
cout<<"调用子系统A方法"<<endl;
}
};
class SubSystemB
{
public:
void FunctionB()
{
cout<<"调用子系统B方法"<<endl;
}
};
class SubSystemC
{
public:
void FunctionC()
{
cout<<"调用子系统C方法"<<endl;
}
};
class Facade
{
private:
SubSystemA *pSubSA;
SubSystemB *pSubSB;
SubSystemC *pSubSC;
public:
void MethodA()
{
cout<<"方法组:----"<<endl;
pSubSA->FunctionA();
pSubSB->FunctionB();
}
void MethodB()
{
cout<<"方法组:----"<<endl;
pSubSA->FunctionA();
pSubSC->FunctionC();
}
};
int main()
{
Facade *pFacade = new Facade();
pFacade->MethodA();
pFacade->MethodB();
return 0;
}
using namespace std;
class SubSystemA
{
public:
void FunctionA()
{
cout<<"调用子系统A方法"<<endl;
}
};
class SubSystemB
{
public:
void FunctionB()
{
cout<<"调用子系统B方法"<<endl;
}
};
class SubSystemC
{
public:
void FunctionC()
{
cout<<"调用子系统C方法"<<endl;
}
};
class Facade
{
private:
SubSystemA *pSubSA;
SubSystemB *pSubSB;
SubSystemC *pSubSC;
public:
void MethodA()
{
cout<<"方法组:----"<<endl;
pSubSA->FunctionA();
pSubSB->FunctionB();
}
void MethodB()
{
cout<<"方法组:----"<<endl;
pSubSA->FunctionA();
pSubSC->FunctionC();
}
};
int main()
{
Facade *pFacade = new Facade();
pFacade->MethodA();
pFacade->MethodB();
return 0;
}
- Facade模式(外观模式)
- 外观模式(Facade)
- 外观模式(Facade Pattern)
- 外观(Facade)模式
- 外观模式(Facade Pattern)
- Facade(外观)模式
- Facade外观模式
- facade(外观模式)
- Facade 外观模式
- 外观模式(Facade)
- Facade外观模式
- Facade外观模式
- 外观模式Facade
- 外观模式(Facade)
- Facade(外观)模式
- Facade外观模式
- 外观模式(Facade)
- 外观模式(Facade)
- iphone在使用tabbar时如何使用转换动画
- 怎样简单检测socket的健康状态
- new String("".getBytes("gbk"),"utf-8")与URLEncoder和URLDecoder比较
- 将Eclipse项目自动部署到Tomcat的webapps目录下
- Memory Barriers/Fences
- 外观模式(Facade)
- Keepalived配置及典型应用案例(已测试通过)
- 杭电acm 2023 求平均成绩
- 函数嵌套(c++)
- 第三章卡的开始
- 网页运行原理
- H.265之三 -帧内预测(3)
- 启动COM组件的三种机制
- 对mahout与hadoop的调用关系分析,以及建立统一化平台的思路