博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
外观模式之C++实现
阅读量:5898 次
发布时间:2019-06-19

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

说明:本文仅供学习交流,转载请标明出处。欢迎转载。

            在我们学习程序设计时经常会用到模块化设计的思想,这一思想是我们首先把要实现的功能用一个模块表示,当用户想完毕某个人物时依次调用相应的函数。

然而。假设用户要完毕一个非常大的任务。则须要调用非常大模块函数。这样用户与各个模块打交道就非常频繁了,同一时候也非常easy出错,由于用户与某个详细模块打交道,耦合度相对照较高。而外观模式(Facade)就在此时能够派上用场了。

        外观模式的定义:为子系统中的一组接口(相当与上面的模块)提供一个一致的界面。此模式定义了一个高层接口,这个结口使得这一子系统更加easy使用。

        说白了就是:我们仅仅需调用高层的函数接口。而不用关心高层内部调用是怎样组合底层方法的。更不用关心底层函数是怎样实现的。

         外观模式例如以下图所看到的:

          

 本图来自《大话设计模式》网上电子稿   

           举例:

         我们如今须要完毕两个工作:要完毕这两个工作。要完毕工作1我们须要依次完毕子工作Sub_Work1、Sub_Work3。要完毕工作2我们须要依次完毕工作Sub_Work2,Sub_Work3。Sub_Work4。为了能让用户与这些子工作分离。我们採用外观模式在中间插入一个工作处理中心Work,这个Work负责处理用户的需求已经集成对应的底层子系统,代码实现例如以下:

#include
using namespace std;class Sub_Work1//子工作1{public: void Working1() { cout<<"Doing Sub-Work1..."<

         測试结果:

         

參考资料:

[1]《大话设计模式》

[2]《设计模式之禅》

[3]《HeadFirst设计模式》

本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5258427.html,如需转载请自行联系原作者

你可能感兴趣的文章
一文彻底弄懂 for forEach for-in for-of 的区别
查看>>
《前端十年心路-我把一切告诉你》的书稿大纲&问题收集
查看>>
前嗅ForeSpider教程:运行设置(一)
查看>>
2019
查看>>
CornerStone使用教程
查看>>
客户端检测
查看>>
python设计模式-状态模式
查看>>
Javascript 中的深浅拷贝
查看>>
Three.js 选择拾取对象学习总结
查看>>
Java多线程学习——公平锁
查看>>
【C++】 3_进化后的 const 分析
查看>>
SQLServer之通过视图修改数据
查看>>
Java基础【二】 - 值传递和引用传递
查看>>
C++ Primer 第一章 学习笔记及习题答案
查看>>
CAT 3.0 开源发布,支持多语言客户端及多项性能提升
查看>>
TypeScript踩坑(持续更新)
查看>>
LeetCode 102 ——二叉树的层次遍历
查看>>
JavaScript继承总结
查看>>
(Ajax)axios源码简析(一)——axios入口文件
查看>>
Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化
查看>>