C++ 外观模式

外观模式定义

  • 外观模式提供了一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层接口,让子系统更容易使用。
  • 个人理解:外观模式,实际就是添加一层封装 比较简单

外观模式实例

比较简单,所以就直接上代码

头文件:

#include "stdafx.h"//走路
class Walk
{public:void action();
};//公交
class Bus
{public:void action();
};//学习
class Study
{public:void action();
};//放学
class LeaveClass
{public:void action();
};//吃饭
class Eat
{void action();
};//外观类
class  VisualInterface
{
public:void BoyAction();void GirlAction();private:Bus m_bus;Eat m_eat;LeaveClass m_leave;Study m_study;Walk m_walk;
};using namespace std;

实现文件:

// VisualMode.cpp : 定义控制台应用程序的入口点。
// 外观模式#include "stdafx.h"
#include "VisualMode.h"using namespace std;void Bus::action()
{cout << "乘公交" << endl;
}void Eat::action()
{cout << "吃饭" << endl;
}void LeaveClass::action()
{cout << "下课" << endl;
}void Walk::action()
{cout << "走路" << endl;
}void Study::action()
{cout << "学习" << endl;
}void VisualInterface::BoyAction()
{cout << "Boy 操作:" << endl;m_study.action();m_bus.action();}void VisualInterface::GirlAction()
{cout << "Girl 操作:" << endl;m_walk.action();m_leave.action();
}int _tmain(int argc, _TCHAR* argv[])
{VisualInterface cur_Vis;cur_Vis.BoyAction();cur_Vis.GirlAction();system("pause");return 0;
}

运行结果:

C++设计模式详解之外观模式解析相关推荐

  1. C++设计模式详解之模板模式解析

    C++ 模板方法模式解析 模板方法模式定义 模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现 模板方法模式实例 以考试为例,考数学和考语文的过程几乎都是一样的,就是准备考试,背书,写试 ...

  2. C++设计模式详解之工厂模式解析

    C++ 工厂方法模式解析 工厂方法模式原则 让子类决定该创建的对象是什么,来达到将对象创建的过程.封装了对象创建的过程.实现了封装的目的.主要就是创建者类和产品类,让创建者自动绑定产品. 工厂方法模式 ...

  3. C++设计模式详解之命令模式解析

    C++ 命令模式定义 命令模式将请求封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象. 个人理解: 命令模式,其实实质上就是去耦合的操作,让各个部分尽可能的关联性降低,以便修改或增加某些功 ...

  4. 23 种设计模式详解 代码实现全解析

    设计模式 Design Pattern 是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结,使用设计模式是为了可重用代码.让代码更容易被他人理解并且保证代码可靠性. 在<设计模式 ...

  5. Android设计模式详解之解释器模式

    前言 解释器模式是一种使用较少的行为型模式: 提供了一种解释语言的语法或表达式的方式,通过该接口解释一个特定的上下文. 定义:给定一个语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示 ...

  6. Android设计模式详解之建造者模式

    前言 Builder模式是一种创建型设计模式. 定义:将一个复杂对象的创建与它的表示分离,使得同样的构造过程可以创建不同的表示. 使用场景: 相同的方法,不同的执行顺序,产生不同的事件结果时: 多个部 ...

  7. 设计模式详解:建造者模式

    今天来看一下创建新模式中的第五种模式:建造者模式.仍然是先看两张图,复习模式类型,加深记忆. 定义: 建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. Build ...

  8. Android设计模式详解之备忘录模式

    前言 备忘录模式是一种行为模式,该模式用于保存对象当前状态,并且在之后可以再次恢复到此状态: 定义:在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样,以后就可以将该对象恢 ...

  9. 《设计模式详解》结构型模式 - 外观模式

    外观模式 5.5 外观模式 5.5.1 概述 5.5.2 结构 5.5.3 案例 5.5.4 使用场景 5.5.5 Tomcat 源码 完整的笔记目录:<设计模式详解>笔记目录,欢迎指点! ...

最新文章

  1. 5G都不能取代的Wi-Fi6,到底有多厉害?
  2. BZOJ2948 : [Poi2001]绿色游戏
  3. 基于linux环境采用update-alternatives 方式进行python版本切换
  4. OCP-052考试题库汇总(58)-CUUG内部解答版
  5. 关于微信和支付宝小程序审核记录分享
  6. Mac OS X 安装protobuf
  7. 推荐几个.NET开源图表组件
  8. eclipse下载支持compiler compliance level 1.8的插件
  9. css绘制卡券优惠券_使用css创建一个优惠券的方法
  10. 小说阅读网站设计HTML,HTML5+CSS3网站设计基础教程
  11. 怎样批量将图片转成PDF格式?图片转换PDF操作方法
  12. 荣耀简史:起于抗击小米、止于拯救华为
  13. 关于“前台根据后台值,操作字段、显示或select选中状态”的几种做法
  14. android avm灰色,APICloud AVM多端开发案例深度解析(上)--点餐app开发
  15. Response.WriteFile 无法下载大文件解决方法
  16. vue项目中 一行文本 文字 根据关键字 改变颜色 改变展示颜色2
  17. Java中string字符串和char字符之间的千丝万缕
  18. 江苏电信服务器托管/1U托管/4G硬防
  19. python算法设计 - 二进制
  20. 全球500强企业名单

热门文章

  1. 共享锁、排他锁、互斥锁、悲观锁、乐观锁、行锁、表锁、页面锁、不可重复读、丢失修改、读脏数据...
  2. 查看linux cpu负载均衡,关于linux内核cpu进程的负载均衡
  3. percona-distribution-mysql-pxc
  4. 动态规划之数字三角形问题
  5. 2019.8.21一些面试题以及记录
  6. 《Linux内核分析》期末总结及学习心得
  7. firefox浏览器优化-速度超chrome
  8. postgreSQL源码分析——索引的建立与使用——GIST索引(1)
  9. 14-Arco初次见到毛球
  10. java maven 读取配置文件_Java项目和maven项目中如何获取设置配置文件中的属性