博客
关于我
设计模式之外观模式
阅读量:340 次
发布时间:2019-03-04

本文共 1024 字,大约阅读时间需要 3 分钟。

目录


外观模式façade

概念

  • Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种。
  • Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。
  • 这个一致的简单的界面被称作facade。

角色和职责

  • Façade
    • 为调用方, 定义简单的调用接口。
  • Clients
    • 调用者。通过Facade接口调用提供某功能的内部类群。
  • Packages
    • 功能提供者。指提供功能的类群(模块或子系统)
  • 适用于:
    • 为子系统中统一一套接口,让子系统更加容易使用。

案例

class SystemA{public:	void doThing()	{		cout << "systemA do...." << endl;	}};class SystemB{public:	void doThing()	{		cout << "systemA do...." << endl;	}};class SystemC{public:	void doThing()	{		cout << "systemA do...." << endl;	}};class Facade{public:	Facade()	{		a = new SystemA;		b = new SystemB;		c = new SystemC;	}	~Facade()	{		delete a;		delete b;		delete c;	}	void doThing()	{		a->doThing();		b->doThing();		c->doThing();	}protected:private:	SystemA *a;	SystemB *b;	SystemC *c;};void main1414(){	/*	SystemA *a = new SystemA;	SystemB *b = new SystemB;	SystemC *c = new SystemC;	a->doThing();	b->doThing();	c->doThing();	delete a;	delete b;	delete c;	*/	Facade *f = new Facade;	f->doThing();	delete f;	cout<<"hello..."<<endl;	system("pause");	return ;}

【注】参考传智扫地僧C++设计模式

转载地址:http://rxur.baihongyu.com/

你可能感兴趣的文章
vue项目如何区分开发、生产和测试环境
查看>>
css取消双击选中文字
查看>>
LeetCode 116填充每个节点的下一个右侧结点指针
查看>>
C++小笔记——function绑定重载函数、私有继承用的条件
查看>>
最近一些算法题的总结
查看>>
2021-4-28【PTA】【L2-1 包装机 (25 分)】
查看>>
2021-5-2【指针】【作业】【指针代替下标进行数组编程】
查看>>
Arduino mega2560+MPU6050利用加速度值控制舵机
查看>>
MPU9250九轴姿态解算开发小结
查看>>
pycharm+python+MS SQLSERVER 实战2、实现爬虫程序。
查看>>
判断字符是否出现
查看>>
C 语言restrict 关键字的使用浅谈
查看>>
深入理解数组指针与指针数组的区别
查看>>
iOS客户端与PHP服务端的简单交互
查看>>
图像Exif Orientation
查看>>
Python的异常处理
查看>>
Kubernetes(k8s)的调度器详细介绍
查看>>
Linux的网络参数设置
查看>>
权限修饰符protected和default的区别
查看>>
紫书——蛇形填数
查看>>