1, 什么叫门面模式, 也称之为接待员模式

1.1 我更愿意称之为阿拉丁模式, 阿拉丁灯神, 你想什么, 它就直接给你实现了, 你别管中间有多少困难, 他就直接给你实现了
1.2 好下面介绍门面模式, 打个比方你就懂了,

理发店发廊, 你的需求是洗头, 或者其他什么的, 都懂=_=,
只要你拿钱进了这个门, 里面会有人实现你进这个门的需求的, 你看, 你只是进了一个门而已,
然后这么多需求, 都是门后面的人帮你做了, 一定要把门和门后拆开理解

1.3 门面模式应该是我们日常中使用最多的模式了, 比如写一个方法, 传一个文件名, 就可以本地获取文件, 并且上传到远程服务器了,  方法就是门, 方法里面的代码就是门后

2, 发廊案例

funtion king 就是一个复杂服务的集成提供, 不用自己去一个个找人, 函数里面已经封装好了

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;public class Facade {// 理发师private HashMap<String, String> waiter = new HashMap();// 洗发师private HashMap<String, String> waiter1 = new HashMap();// 黑丝小姐姐private HashMap<String, String> waiter2 = new HashMap();// 前台private HashMap<String, String> waiter3 = new HashMap();// 一条龙public void king(String name) {// 先跟前台记账waiter3.put(name, "记账");waiter1.put(name, "洗发师收到了排单");waiter.put(name, "理发师收到了排单");waiter2.put(name, "黑丝小姐姐收到了排单");}public void serviceLog() {System.out.println(waiter3);System.out.println(waiter);System.out.println(waiter1);System.out.println(waiter2);}public static void main(String[] args) {Facade facade = new Facade();facade.king("王先生");facade.serviceLog();}
}

进阶学习(3.11) Facade Pattern 门面模式相关推荐

  1. 进阶学习(3.14) Strategy Pattern 策略模式

    1, 什么是策略模式 1.1  未达到预期目的的各种应对方案 1.2  程序代码中的每一个分支都可以称之为策略, 而策略模式,则是将行为划分到具体类, 使用类对象区分行为 2, 优缺点 2.1  减少 ...

  2. 进阶学习(3.13) Proxy Pattern 代理模式

    1, 代理模式, 这个地方的代理不是指JDK 动态代理 2, 代理模式和策略模式很像, 要注意区分, 区分的特征就是 2.1) 装饰者可以对任何的装饰抽象实例进行装饰, https://blog.cs ...

  3. 进阶学习(3.9) Bridge Pattern 桥接模式

    1, 什么是桥接 桥,  提供给两方, 或者多方相交汇的作用, 例如, A 函数想调用 B 函数, 常见的方法就是, 直接在A 中显式 调用B, 这样存在高耦合,  如果我们使用一个中间函数C, 在C ...

  4. 进阶学习(3.8) Component Pattern 组合模式

    1, 什么是组合模式 一句话概括, 复杂的实体类, 一个对象里面包含多个对象, 就是一种组合, 完善对象的数据多样性, 其实大部分的设计模式, 我们再日常编程中都会使用, 有些可能使用了完整的思想, ...

  5. 进阶学习(3.6) Prototype Pattern 原型模式

    1, 什么是原型模式 1.1  通过浅拷贝(Cloneable)或者深拷贝(二进制流), 实现对一个复杂对象的刻复, 减少从零生成对象时消耗的性能 2,有什么业务场景 2.1  数据缓存, 查询数据库 ...

  6. 进阶学习(3.4) Builder Pattern 建造者模式

    1, 解决了什么 1.1 按照步骤拆分复杂对象的创建 1.2 能快速查找到是哪个步骤出了问题 1.2 更换蓝图就可以生产不同的具象对象 2, 参与者 需求者(Builder),             ...

  7. 接口隔离模式之Facade(门面模式)

    一.接口隔离模式之Facade(门面模式) 再组件构建过程中,某些接口之间直接依赖常常会带来很多问题,甚至根本无法实现.采用添加一层间接(稳定)接口,来隔离本来相互紧密关联的接口是一种常见的解决方案. ...

  8. 门面设计模式php,学习php设计模式 php实现门面模式(Facade)

    这篇文章主要介绍了php设计模式中的门面模式,使用php实现门面模式,感兴趣的小伙伴们可以参考一下 一.意图 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层次的接口,使得子系统 ...

  9. 结构型模式(五)门面模式(Facade Pattern 外观模式)

    一.模式定义 门面模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统 ...

最新文章

  1. 第一个MapReduce程序
  2. CVPR 2019 | 惊艳的SiamMask:开源快速同时进行目标跟踪与分割算法
  3. Java相关资料分享(视频+电子书籍)
  4. 文件上传至将File转换成MultiPartFile
  5. php培训js重要么,php何以被戏称为“世界上最好的语言”?请看它与js的对比!...
  6. Zen Coding Visual Studio plugin 配置
  7. python学习笔记(对象)
  8. Java虚拟机学习 - 体系结构 内存模型
  9. webpack 使用教程
  10. 员工离职时,主管应该问相关竞业的两个问题
  11. iOS 13问题记录
  12. Unicode 子集 数量统计
  13. win10企业版激活简便方法
  14. 2018-03-28-日剂
  15. WSO2流处理器相关学习(1)快速入门指南【转】
  16. PHP代码执行漏洞总结
  17. 赛扬J4105和赛扬N5095哪个好
  18. HTML简单静态页面的编写
  19. uniapp nvue页面 关闭输入法
  20. Cartov for Mac 1.0.2 无尽旅图

热门文章

  1. QT小例子GUI(主)线程与子线程之间的通信
  2. python数组改变维数
  3. Kerberos 原理简述
  4. 括号匹配算法 java_使用栈实现括号匹配算法-java
  5. linux启动运行级别上机,linux的启动及其运行级别
  6. Git使用汇总之工作区、暂存区、版本库
  7. 再谈应用环境下的TIME_WAIT和CLOSE_WAIT
  8. http提交json格式数据自动加\
  9. 刨根问底:C++中宽字符类型(wchar_t)的编码一定是Unicode?长度一定是16位?
  10. linu怎么启动oracle,请问该如何在LINUX下启动ORACLE?