博客
关于我
设计模式之外观模式
阅读量: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/

你可能感兴趣的文章
MySQL的基本体系和架构介绍
查看>>
MySQL数据备份实践和整理
查看>>
结构型设计在工作中的一些经验总结
查看>>
如何提升员工体验 助力企业业务增长?这个棘手的问题终于被解决了!
查看>>
腾讯物联网操作系统正式开源,最小体积仅1.8 KB
查看>>
不懂数据库的码农不是好程序员!
查看>>
全球首个!阿里云开源批流一体机器学习平台Alink……
查看>>
必须要看的网上冲浪安全攻略!
查看>>
红点中国、红杉中国联合领投,WakeData惟客数据完成1000万美元B轮融资
查看>>
看完这篇操作系统,和面试官扯皮就没问题了!
查看>>
OpenStack发布Ussuri版本 实现智能开源基础设施的自动化
查看>>
整理了一份 Docker系统知识,从安装到熟练操作看这篇就够了 | 原力计划
查看>>
2020 AI 产业图谱启动,勾勒中国 AI 技术与行业生态
查看>>
“编程能力差,90%输在了数学上!”CTO:多数程序员都是瞎努力!
查看>>
霍因科技获首届全国信创产业生态创新奖
查看>>
我是程序员,我用这种方式铭记历史
查看>>
F5打造“感知可控,随需而变的应用” 助力企业实现非凡数字体验
查看>>
CSDN湘苗培优|保持热情,告别平庸
查看>>
Serverless 在大规模数据处理中的实践
查看>>
高可用Redis服务架构分析与搭建
查看>>