23种设计模式C++实例之外观模式
来源:互联网 发布:fifaonline3古利特数据 编辑:程序博客网 时间:2024/05/22 22:51
为各个不同的类提供统一的接口,然后通过外观模式将其组合起来,对外提供一个统一的接口。
#include <iostream>using namespace std;/* * 外观模式:将子系统中的一组接口提供一个一致的界面 * 外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用 * */class SubsysA {public:void dothing() {cout << "SubsysA do thing" << endl;}};class SubsysB {public:void dothing() {cout << "SubsysB do thing" << endl;}};class SubsysC {public:void dothing() {cout << "SubsysC do thing" << endl;}};class Facade {public:Facade() {m_sysA = new SubsysA;m_sysB = new SubsysB;m_sysC = new SubsysC;}~Facade() {if (m_sysA != NULL) {delete m_sysA;m_sysA = NULL;}if (m_sysB != NULL) {delete m_sysB;m_sysB = NULL;}if (m_sysC != NULL) {delete m_sysC;m_sysC = NULL;}}void dothing() {m_sysA->dothing();m_sysB->dothing();m_sysC->dothing();}private:SubsysA* m_sysA;SubsysB* m_sysB;SubsysC* m_sysC;};int main() {// 使用外观模式之前SubsysA* a = new SubsysA;a->dothing();delete a;SubsysB* b = new SubsysB;b->dothing();delete b;SubsysC* c = new SubsysC;c->dothing();delete c;cout << endl;// 使用外观模式之前Facade* facade = new Facade;facade->dothing();delete facade;return 0;}
0 0
- 23种设计模式C++实例之外观模式
- 23种设计模式之外观模式
- 23种设计模式之外观模式
- C#--设计模式之外观模式
- 设计模式---外观模式 实例
- 23设计模式之外观模式(Facade)
- 23设计模式之外观模式(Facade)
- 23中设计模式之外观模式
- 设计模式之外观
- 设计模式之外观
- 设计模式 之 外观
- 设计模式之外观
- 23种设计模式之外观模式(Facade)
- Java 23种设计模式之外观模式详解
- 23种java设计模式之外观模式
- JAVA开发的23种设计模式之 --- 外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)
- 属性动画Animator学习
- Ming Rpc
- 性能评估
- ios nsstring 字符串包含引号 处理方法
- 23种设计模式C++实例之外观模式
- Agile Java自学笔记(一)
- asp.net mvc4 集成reactjs
- Scala:Set
- C++隐藏规则
- ios addSubview和insertSubview的区别
- javaScript将json字符串转对象
- Linux的inode的理解
- AsyncTask不为人知的那些事