外观模式的提出:

为复杂的子系统调用提供一个统一的入口,使子系统与客户的耦合度降低,且客户端调用非常方便。

就像在网站浏览时,开发者为我们设定的主页一样。这样我们就无需去记住所有的子网页的URL,只需要记得主页的URL。这样我们同样可以访问该网站的所有资源,而且还无需记得那么多复杂的URL。两者的道理是一样的。

View Code

 1 #include <iostream> 2 #include <string> 3 using namespace std; 4 // 外观模式 5 class Light 6 { 7 public: 8     void on() 9     {10         cout << "灯开了..." << endl;11     }12 };13 14 class TV15 {16 public:17     void play()18     {19         cout << "电视机播放中..." <<endl;20     }21 };22 23 class AirConditioner24 {25 public:26     void on()27     {28         cout << "空调开了..." << endl;29     }30 }; 31 32 class Facade    // 外观类33 {34 private:35     Light light;36     TV    t;37     AirConditioner air;38 public:39     Facade(Light &l,TV &tv,AirConditioner &ac)40     {41         this->light = l;42         this->t = tv;43         this->air = ac;44     }45     void LightOn()46     {47         this->light.on();48     }49     void TVPlay()50     {51         this->t.play();52     }53     void AitConditionerOn()54     {55         this->air.on();56     }57     58 };59 void main()60 {61     Light l;62     TV tv;63     AirConditioner ac;64 65     Facade f(l,tv,ac);66     f.LightOn();67     f.TVPlay();68     f.AitConditionerOn();69     70 }

转载于:https://www.cnblogs.com/xuxu8511/archive/2012/03/19/2406492.html

[结构型] -- 外观模式相关推荐

  1. 【设计模式_青春版】结构型|外观模式

    文章目录 外观模式(结构型) 外观模式又名门面模式 结构 外观模式案例 代码实现 优缺点 优点 缺点 使用场景 在tomcat中的 外观模式(结构型) 外观模式又名门面模式 是一种通过为多个复杂的子系 ...

  2. [设计模式-结构型]外观模式(Facade)

    概括 名称 Facade 结构 动机 为子系统中的一组接口提供一个一致的界面,F a c a d e 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 适用性 当你要为一个复杂子系统提供一 ...

  3. 设计模式(16):结构型-桥接模式(Bridge)

    设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于 ...

  4. 设计模式(17):结构型-组合模式(Composite)(2)

    设计模式(Design pattern) 是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式 ...

  5. JAVA设计模式(09):结构型-代理模式(Proxy)

    代理模式是经常使用的结构型设计模式之中的一个,当无法直接訪问某个对象或訪问某个对象存在困难时能够通过一个代理对象来间接訪问,为了保证client使用的透明性,所訪问的真实对象与代理对象须要实现同样的接 ...

  6. 结构型 组合模式 Composite

    Composite,组合模式:将对象组合成树形结构以表示部分整体的关系,Composite使得用户对单个对象和组合对象的使 用具有一致性. Mary今天过生日."我过生日,你要送我一件礼物. ...

  7. 结构型 桥模式 -Bridge

    早上碰到MM,要说早上好,晚上碰到MM,要说晚上好:碰到MM穿了件新衣服,要说你的衣服好漂亮哦,碰到MM新做的发型,要说你的头发好漂亮哦.不要问我"早上碰到MM新做了个发型怎么说" ...

  8. Java设计模式-结构型-门面模式

    目录 前言 示例 前言 门面模式(也叫外观模式,Facade Pattern)在许多源码中有使用,比如 slf4j 就可以理解为是门面模式的应用.这是一个简单的设计模式,我们直接上代码再说吧. 示例 ...

  9. GOF设计模式之外观模式(结构型代理模式)

最新文章

  1. mysql数据库回滚日志_Mysql数据库应急响应中日志排查
  2. 编程 ul 不能一行显示 跳到下行_单片机编程魔法之三权分立
  3. 灾备知识总结:容灾与备份区别、灾备技术、容灾体系规划
  4. what format should you export from matlab?
  5. 2019/Province_C_C++_A/F/完全二叉树的权值
  6. LeetCode 1304. 和为零的N个唯一整数
  7. 我的python 入门 安装 -- hello world
  8. Mybatis(12)事务原理和自动提交设置
  9. 走错路也要美美的!富有创意的404页面设计灵感
  10. 2021下半年ICPC各类赛事时间日程
  11. 如何录制Gif动态图片
  12. 【2022西电A测】温度检测控制仿真系统
  13. 添加分隔符|的几种方法
  14. eclipse web插件配置方法(tomcat10 也可解决)
  15. BGP进阶:BGP 综合实验一
  16. 服务器mysql修改数据库密码_怎么修改mysql数据库服务器密码
  17. Java的JDK和JRE
  18. Latex快速制表工具
  19. 【GAMES104】 渲染的其他内容
  20. 阿里云部署SpringBoot项目

热门文章

  1. Delphi十进制和十六进制互转 Delphi 自带函数 IntToHex
  2. 【CyberSecurityLearning 68】python 编写exp
  3. Linux 读取文件n行并删除方法
  4. 【又放洋屁了】文艺细菌发作了
  5. STM32开发 -- YModem详解
  6. hdu-2080(三角函数和向量)
  7. stl-优先队列priority_queue
  8. impala 连接mysql_impala系列: 基本命令和jdbc连接
  9. Android O 前期预研之二:HIDL相关介绍
  10. AndroidL的checkPermission方法详解