1.策略模式:

链接:http://www.imooc.com/article/11475

题例:鸭子

原则:

1:找出应用中可能需要变化之处,把它们独立起来,不要和那些不需要变化。

2:针对接口编程,而不是针对实现编程。

3:多用组合,少用继承。

策略模式定义了算法族,分别封装起来,让他们之间可以互相替换, 此模式让算法的变化独立于使用算法的客户。

2.观察者模式:

链接:http://www.imooc.com/article/11579

题例:气象检测应用

原则:

4:为了交互对象之间松耦合设计而努力。

观察者模式 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并自动更新。

3.装饰者模式:

链接:http://www.imooc.com/article/11631

题例:星巴兹咖啡连锁店

原则:

5:类应该对扩展开放,对修改关闭。(开放-关闭原则)

装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。

4.工厂模式:

链接:http://www.imooc.com/article/11675

题例:披萨店

原则:

6:要依赖抽象,不要依赖具体类。(依赖倒置原则)

抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。

5.单件模式:

链接:http://www.imooc.com/article/11735

题例:无

原则:无

单件模式确保一个类只有一个实例,并提供一个全局访问点。

6.命令模式:

链接:http://www.imooc.com/article/11923

题例:电器自动化

原则:无

命令模式将“请求”封装成对象,一边使用不同的请求、队列或者日志来来参数化其他对象。命令模式也支持可撤销的操作。

7.适配器模式和外观模式:

链接:http://www.imooc.com/article/11993

题例:第一章的鸭子

原则:

7:只和你的密友谈话。(最少知识原则)

适配器模式将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。

外观模式提供了一个统一的接口,用来访问自系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。

8.模板方法模式:

链接:http://www.imooc.com/article/12037

题例:星巴兹咖啡冲泡

原则:

8:别调用我们,我们会调用你。(好莱坞原则)

模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

9.迭代器与组合模式:

链接:http://www.imooc.com/article/12103

题例:餐厅和煎饼屋合并

原则:

9:一个类只有一个引起变化的原因。(单一责任原则)

迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。

组合模式允许你将对象组合成树形节后来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。

head first 设计模式 java_吐血整理:Head First设计模式大全相关推荐

  1. 【吐血整理】(面试大全)网络安全,渗透测试,安全服务工程师面试题

    欢迎关注我的微信公众号:安全攻防渗透 信息安全领域原创公号,专注信安领域人才培养和知识分享,致力于帮助叁年以下信安从业者的学习和成长. 前言 这次花了大把精力一边学习一边整理网络安全服务职位(包括但不 ...

  2. 吐血整理MyBatis面试题大全

    1.什么是 MyBatis? 答:MyBatis 是一个可以自定义 SQL.存储过程和高级映射的持久层框架. 2.讲下 MyBatis 的缓存 答:MyBatis 的缓存分为一级缓存和二级缓存,一级缓 ...

  3. 【笔记整理】图解设计模式 | 导航

    [笔记整理]图解设计模式 | 关于UML 第1部分 适应设计模式 [笔记整理]图解设计模式 | 第1章 Iterator模式(一个一个遍历) [笔记整理]图解设计模式 | 第2章 Adapter模式( ...

  4. Java学习之路吐血整理技术书从入门到进阶最全50+本(珍藏版)

    本博文系转载:原博地址:https://blog.csdn.net/qq_43336600/article/details/83537307 重要:注:原博整理的资源是加密资源,所以我在进行转载时已经 ...

  5. 吐血整理:论文写作中注意这些细节,能显著提升成稿质量

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 文 | python 编 | 小轶 前言 不知诸位在科研的起步阶段,是否曾有过如下的感 ...

  6. DL之CNN:关于CNN(卷积神经网络)经典论文原文(1950~2018)简介总结框架结构图(非常有价值)之持续更新(吐血整理)

    DL之CNN:关于CNN(卷积神经网络)经典论文原文(1950~2018)简介总结框架结构图(非常有价值)之持续更新(吐血整理) 导读       关于CNN,迄今为止已经提出了各种网络结构.其中特别 ...

  7. 吐血整理《计算机网络五层协议之物理层(下)》

    吐血整理<计算机网络五层协议之物理层(上)> 吐血整理<计算机网络五层协议之物理层(中)> 绝知此事要躬行! 物理层(下篇) 1.数字传输系统 1.1PCM的基本原理 1.2 ...

  8. 吐血整理《计算机网络五层协议之物理层(中)》

    吐血整理 <计算机网络 五层协议之物理层(上)> 吐血整理 <计算机网络 五层协议之物理层(下)> 物理层(中篇) 1.信道的基本概念(续) 1.1信道的极限容量 1.2.信道 ...

  9. 秒杀系统优化方案(下)吐血整理

    接上篇秒杀系统优化方案(上)吐血整理 3. 深入优化设计 3.1   初始方案问题分析 在前面针对数据库的优化中,由于数据库行级锁存在竞争造成大量的串行阻塞,我们使用了存储过程(或者触发器)等技术绑定 ...

  10. [转]《吐血整理》系列-顶级程序员工具集

    你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图.个人联系方式,欢迎Star和指教 前言 这期 ...

最新文章

  1. 看看是否有人用USB偷插你的电脑
  2. C51汇编伪指令 CSEG DSEG
  3. ie浏览器里面无法输入文字:
  4. python的数字比较好_说说 Python3 中的数字处理
  5. 作业调度框架_Quartz
  6. spring aop与strut2的拦截器冲突
  7. 将网页以页面仅html,不用JS,教你只用纯HTML做出几个实用网页效果
  8. 关于Spring事务管理的基础实例
  9. Mybatis非mapper代理配置
  10. Latch free等待事件
  11. 饥荒正版怎么创建专用服务器,饥荒联机版如何创建本地服务器 创建本地服务器步骤...
  12. WordPress the_excerpt()截取摘要长度
  13. codeforces1100 F. Ivan and Burgers(线性基)
  14. 回顾微生物学的发展——我们在哪里,我们要去哪里?
  15. 基于OSGi的企业级开发框架实践——序篇
  16. 攻防世界 web高手进阶区 10分题 weiphp
  17. 阿里前CEO卫哲:我特别反对无人便利店 凤凰新闻 08-24 10:55 原标题:阿里前CEO卫哲:我特别反对无人便利店 卫哲,32岁就成长为史上最年轻的世界500强中国区总裁,36岁成为阿里巴巴CE
  18. <C语言>详解操作符及显隐类型转换
  19. 烤仔同传 | 揭秘,暴富梦笼罩下的打新灰产
  20. python开发mbus程序_MBUS 和MODBUS 什么关系啊

热门文章

  1. 如何安装matlab?官网下载详细教程
  2. python 微博自动点赞软件_微博超话自动软件-微博超话自动工具(签到+发帖+自动写文案)下载-西西软件下载...
  3. 前端两种播放视频的方式
  4. 是运用计算机科学的基础知识进行问题求解,计算机基础-第一章计算机基础知识.ppt...
  5. JavaScript 计算器
  6. VSCode LaTex 安装
  7. windows下,可替换telnet的工具tcping.exe
  8. 光(复振幅)在自由空间中传播的matlab仿真——傅里叶光学方法
  9. 【新书速递】计算机系统解密:从理解计算机到编写高效代码
  10. Ubuntu系统下安装Gaussian09和GaussianView5(GS16和GV6安装同理)