设计模式之- 外观模式(Facade Pattern)
外观模式
#include<iostream> using namespace std;class Shape { public:virtual void draw()=0; };class Rectangle : public Shape { public:void draw() {cout<<"Rectangle::draw()"<<endl;} };class Square : public Shape { public:void draw() {cout<<"Square ::draw()"<<endl;} };class Circle : public Shape { public:void draw() {cout<<"Circle ::draw()"<<endl;} };class ShapeMaker {Shape *circle;Shape *rectangle;Shape *square;public:ShapeMaker() {circle = new Circle();rectangle = new Rectangle();square = new Square();}void drawCircle(){circle->draw();}void drawRectangle(){rectangle->draw();}void drawSquare(){square->draw();} };class FacadePatternDemo { public: static void method(int argc,char**argv) {ShapeMaker *shapeMaker = new ShapeMaker();shapeMaker->drawCircle();shapeMaker->drawRectangle();shapeMaker->drawSquare(); } };int main(int argc,char**argv){FacadePatternDemo::method(argc,argv);return 0; }
类图:
外观模式感觉最简单了,相当于把几个独立的接口写了一个统一的包装类进行了合并,并向外提供统一的调用接口,代码一看便知!
转载于:https://www.cnblogs.com/J1ac/p/9738379.html
设计模式之- 外观模式(Facade Pattern)相关推荐
- 如何让孩子爱上设计模式 ——11.外观模式(Facade Pattern)
如何让孩子爱上设计模式 --11.外观模式(Facade Pattern) 标签: 设计模式初涉 场景引入 相信各位玩过LOL英雄联盟游戏的童鞋,对下面两个英雄都不会陌生吧: 分别是瑞雯和 ...
- 设计模式 -结构型模式_门面模式(外观模式) Facade Pattern 在开源软件中的应用
文章目录 Pre 定义 案例 Demo V1.0 Boss直接管理 V2.0 引入外观类 PmManagerFacade 何时使用Facade Tomcat Mybatis Pre 我们先来回顾下门面 ...
- 使用C#实现适配器模式 (Adapter Pattern) 和外观模式 (Facade Pattern)
本文的概念内容来自深入浅出设计模式一书 现实世界中的适配器(模式) 我带着一个国标插头的笔记本电脑, 来到欧洲, 想插入到欧洲标准的墙壁插座里面, 就需要用中间这个电源适配器. 面向对象的适配器 你有 ...
- php facade模,PHP 设计模式之外观模式 Facade
简单描述 外观模式(Facade pattern),为子系统中的一组接口提供一个统一的高层接口,使得子系统更容易使用. 外观模式又称为门面模式,它是一种对象结构型模式,遵循迪米特法则,又称最少知道原则 ...
- 研磨设计模式之外观模式(Facade)(解决方案)
3.2 解决方案 3.2.1 外观模式来解决 用来解决上述问题的一个合理的解决方案就是外观模式.那么什么是外观模式呢? (1)外观模式定义 这里先对两个词进行一下说明,一个是界面,一个是接口. 界 ...
- 设计模式(八): 从“小弟”中来类比外观模式(Facade Pattern)
在此先容我拿"小弟"这个词来扯一下淡.什么是小弟呢,所谓小弟就是可以帮你做一些琐碎的事情,在此我们就拿"小弟"来类比"外观模式".在上面一篇 ...
- 设计模式之外观模式(Facade)摘录
23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...
- 【设计模式】—— 外观模式Facade
前言:[模式总览]----------by xingoo 模式意图 外观模式主要是为了为一组接口提供一个一致的界面.从而使得复杂的子系统与用户端分离解耦. 有点类似家庭常用的一键开关,只要按一个键,台 ...
- 设计模式之外观模式(Fasade Pattern)
2019独角兽企业重金招聘Python工程师标准>>> 模式分析: 外观模式又称为门面模式,提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层的接口,让子系统更容易使 ...
最新文章
- 干掉前端!3分钟纯 Java 注解搭个管理系统,我直接好家伙
- 小程序网络最大并发限制解决思路
- EDAS ScheduleX 问题
- 雷林鹏分享:Lua 数据库访问
- 一道关于 ARRAY 深度展开的面试题
- python3 正则表达式模块re相关
- 插件原理[转自CSDN]
- 《http权威指南》读书笔记14
- 3月3 pytorch模型保存的.pt, .pth, .pkl的pytorch模型文件,只是后缀不同而已(仅此而已)
- 服务器cpu最多几核心,决定虚拟服务器所需要的CPU核心数量是一件非常复杂的事情...
- WS2811芯片 SM16703 SOP8 RGB流水幻彩灯LED驱动IC
- Windows把内存设置为0无法开机怎么办
- Unity3d 人物跳跃后落地悬空问题
- Apollo Planning决策规划算法代码解析 (17):SPEED_HEURISTIC_OPTIMIZER 速度动态规划下
- PAT乙级做题部分总结
- Android WebView播放视频flash(判断是否安装flash插件)
- torch.isfinite()、torch.isinf()、torch.isnan()
- Bootstrap4模态框垂直居中
- 两张(多张)图片合成一张图片
- 艺赛旗(RPA)新手课堂 - 原始字符串为什么不能以反斜杠结尾
热门文章
- Linux Distribution Timeline for 2010(Linux 2010 年发行版时间线/族谱/发展图)
- 阐述计算机网络的作用答案,计算机网络习题及答案(50页)-原创力文档
- python 40位的数减个位数_Python——进制表示与转换
- emacs python ide_Emacs Python IDE win7 x64
- linux shell ls -l,linux之ls -l|grep ^-|wc -l命令 Shell 中常見的日志統計方法
- python中if语句的实例_对python中if语句的真假判断实例详解
- C语言代码注释必须用/**/ , 你没看错~
- C语言和指针的本质是什么?技术大神给出答案
- C语言 | 变量的存储方式
- linux uboot 源码分析,UBoot源码分析1.pdf