仅仅是个人学习笔记,不具备参考价值

定义

外观模式(Facade,也叫做门面模式):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。个人的理解就是:将复杂和繁琐的调用封装在一个类里,这个类指的就是定义中的高层接口,对外提供了一个简单的接口。整体看起来更容易使用,结构也更清晰。

类图

何时使用外观模式

分别从设计、开发、维护阶段说明如果使用外观模式。
首先,在设计阶段,就应该有意识的将不同的层面分类出来。比如经典的三层架构,层与层之间建立Facade,这样可以降低层与层之间的耦合。
其次,在开发阶段,往往因为不断的重构演化而变得越来越复杂,大多数的模式也会产生很多很小的类,这本事好使,但是给调用它们的用户带来了困难,这是就可以增加一个Facade类,提供一个简单的接口,减少调用的用户和子系统的依赖。
再次,在维护阶段,在维护一个大型系统时,可能这个系统已经很难扩展和维护,但新功能依赖系统中原有的模块,需要和原有模块对接,这时候可以建立一个Facade,来提供一个比较清晰简单的接口,供新模块使用,减少对原有模块的依赖。
第三,
举个例子,例如员工离职应该在OA中注销该员工,我们需要将多个表的员工状态设置为注销状态,这些update操作分布在Dao的各个类中,这时我们就可以在Dao层创建一个门面类,将分布在各个Dao类中update操作封装在门面类中,对业务逻辑成提供一个简单、统一的接口(或者说调用方式)。

第十二章 牛市股票还亏钱—外观模式相关推荐

  1. 第十二章 牛市股票还会亏钱-外观模式(读书笔记)

    1.由于众多投资者对众多股票的联系太多,反而不利于操作,这在软件中是不是就称为耦合性过高.而有了基金以后,变成众多用户只和基金打交道,关心基金的上涨和下跌就可以了,而实际上的操作却是基金经理人在与上千 ...

  2. 《大话设计模式》之--第12章 牛市股票还会亏钱?----外观模式

    http://blog.csdn.net/monkey_d_meng/article/details/5696192 第12章 牛市股票还会亏钱?----外观模式 12.1牛市股票还会亏钱? &quo ...

  3. 大话设计模式-第12章 牛市股票还会亏钱?--外观模式

    第12章 牛市股票还会亏钱?--外观模式 12.2 股民炒股代码 //股票1 class Stock1 { //卖股票 public void Sell() { Console.WriteLine(& ...

  4. 【设计模式】牛市股票还会亏钱 --- 外观模式

    一,概述 外观模式是软件工程中常用的一种软件设计模式.它为子系统中的一组接口提供一个统一的高层接口.使用子系统更容易使用. 二,例如 股民买股票,大部分散户自己买股票.国债.房地产,然后到时机抛售.这 ...

  5. [大话设计模式C++版] 第12章 牛市股票还会亏钱 —— 外观模式

    源码可以在这里找到 大话设计模式C++版 股民炒股代码 //main.cpp #include <iostream>using namespace std;//股票1 class Stoc ...

  6. 牛市股票还会亏钱?----外观模式

    <大话设计模式>之--第12章 牛市股票还会亏钱?----外观模式 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容 ...

  7. 牛市股票还会亏钱? 外观模式

    12.1 牛市股票还会亏钱 12.2 股民炒股代码 namespace 外观模式 {class Program{static void Main(string[] args){Stock1 gu1 = ...

  8. 高级shell编程笔记(第十二章 外部过滤器,程序和命令)

    第十二章 外部过滤器,程序和命令 标准的UNIX命令使得脚本更加灵活.通过简单的编程结构把shell指令和系统命令结合起来,这才是脚本能力的所在. 12.1 基本命令 新手必须掌握的初级命令 ls 基 ...

  9. abbex 区块链学院如何交易之 第十二章 反败为胜:重创之后重拾信心

    第十二章 反败为胜:重创之后重拾信心 Abbex 交易是失败者的游戏,大师和我们同样面对失败的概率.他用什么手法重新开始,信心 倍增? 阿瑟:你是不是把最顶级的智慧留在了最后?(注:在写这一章的时候, ...

最新文章

  1. 如何卸载office201032位_微软官方安装卸载修复工具、恶意软件删除工具,了解下!...
  2. API 分页探讨:offset 来分页真的有效率吗?
  3. MySQL varchar和char类型
  4. vue 前期准备,项目结构
  5. Navicat for MySQL再谈之无奈之下还是去安装Navicat Premium
  6. 关于Acess 图片存为ole类型,数据集合显示
  7. Openresty 学习笔记(二)Nginx Lua 正则表达式相关API
  8. Ubuntu更新Chrome到最新的版本
  9. 解决U盘1KB快捷方式病毒(暴风一号)方法
  10. 初学java网络编程的一些总结
  11. Win10系统SAS9.4安装步骤
  12. Ubuntu16.04 + TITAN XP 深度学习服务器环境搭建(驱动安装,CUNN7.6.5, CUDA9.0) (避坑篇)
  13. typescript入门之:如何使用、不限定函数参数的个数传参、interface约束(对象、函数、数组、类)、定义可选参数
  14. 同一个图表创建双坐标轴,显示多个图例
  15. 最好听的男孩名字及1000个好听的女孩的名字
  16. 干货 | 如何搭建小型视频点播网站
  17. Python爬虫抓取基金数据
  18. Mars3D(含Cesium)数据及服务篇:单体小模型转为glTF格式
  19. 说说12306,呆在深圳就只能一直抢票
  20. python画蛋糕祝福图片_蛋糕祝福语创意幽默 创意卡通生日蛋糕图片

热门文章

  1. 工作第十四周:整理收藏夹、旧文章有感
  2. [Duolingo]如何在PC版页面登录手机号注册的账号
  3. Arduino 常用函数参考文档
  4. 计算机二级证书有用吗计算机专业,考计算机二级证书有用吗
  5. COM:The Open Dialog Box
  6. c语言编程麦粒问题,c语言编程常见问题解析(资源泄漏)
  7. Linux使用aircrack-ng破解WIFI(wpa/wpa2)密码
  8. 使用微信小程序获取附近人的位置遇到的坑
  9. 积性函数欧拉函数莫比乌斯函数
  10. [Beta] Scrum Meeting 8 - TEAM LESS ERROR