i3geek.com
闫庚哲的个人博客

《headfirst设计模式》Java设计模式笔记

准备

为了有助于理解设计模式,看懂UML图,建议读者提前学习好类图、时序图等UML基本知识。

类图:http://www.i3geek.com/archives/956

构建型模式

名称 重要程度(5分满) 应用
简单工厂模式(Simple Factory) 4
一个工厂实现类,一个产品抽象类,N个产品实现类
工厂方法模式(Factory Method) 5 JDBC
一个工厂抽象类,N个工厂实现类,一个产品抽象类,N个产品实现类
抽象工厂模式(Abstract Factory) 5 软件系统中的界面主题
一个工厂抽象类,N个工厂实现类,N个产品抽象类,N个产品实现类
建造者模式(Builder) 2 游戏中,建造不同类型的人物
统一的流程,利用不同的原材料,可以造出不同的标准化产品
单例模式(Singleton) 4 连接池、线程池、Spring IoC
懒汉:方法内实例化,线程不安全。饿汉:类加载时实例化,线程安全
[略]原型模式(Prototype) 3

结构性模式

名称 重要程度(5分满) 应用
适配器模式(Adapter) 4 JDBC数据库驱动
只要把不兼容变成兼容的就是适配器。利用关联封装不兼容的方法
桥接模式(Bridge) 3 AWT中的Peer架构
利用组合关系,一层层往外包装接口和实现类,从而实现多层的影响因素
装饰模式(Decorator) 3 以动态、透明的方式给单个对象添加职责
装饰者必须实现被装饰者接口,从而对用户透明,完全替代被装饰类
外观模式/门面模式(Facade) 5 Tomcat中Request/Response的封装
简化接口,用一个统一的接口来访问子系统中的一群接口
代理模式(Proxy) 4 AOP,WebService
中介作用,起到隐藏功能或增加功能的效果
[略]组合模式(Composite) 4
[略]享元模式(Flyweight) 1

行为型模式

名称 重要程度(5分满) 应用
命令模式(Command) 4 Tomcat中Connector调用Container
将发送者和接收者解耦。封装请求成对象(即命令)传递给接收者,由接收者执行
观察者模式(Observer) 5 Tomcat中的Lifecycle
订阅、发布。当被观察者改变时,通知(调用)多个观察者
策略模式(Strategy) 4
将算法的封装抽离出来,使不同的算法动态改变不影响客户端
模板方法模式(Template Method) 3 冒泡算法非别对整型数组、浮点数数组、日期数组实现排序
抽离出过程(算法骨架)具体的实现由子类完成
责任链/职责链模式(Chain of Responsibility) 3 tomcat中pipeline和filter
将接收者对象连接成一条链,让有权限的对象处理自己的请求
迭代器模式(Iterator) 5 Java集合类的迭代器
提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节
[略]中介者模式(Mediator) 2
[略]解释器模式(Interpreter) 1
[略]备忘录模式(Memento) 2
[略]状态模式(State) 3
[略]访问者模式(Visitor) 1

为了使文章更便于阅读,所有文章中只涉及文字和UML图,不涉及任何代码,实现原代码请参考:
https://github.com/yangengzhe/coding-guide_i3geek/tree/master/docs/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F

阅读代码,有助于深刻理解设计模式

 

参考:

http://design-patterns.readthedocs.io/zh_CN/latest/

Tomcat的应用:https://www.ibm.com/developerworks/cn/java/j-lo-tomcat2/

赞(0)
未经允许不得转载:爱上极客 » 《headfirst设计模式》Java设计模式笔记
分享到: 更多 (0)

评论 31

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    就是喜欢看你博客!

    增达网2年前 (2017-03-06)回复
  2. #2

    大王叫我来巡山,我把博客转一转。(*^__^*) 嘻嘻……

    Feeey个人博客2年前 (2017-03-12)回复
  3. #3

    真是时光荏苒!

    增达网QQ-330922902年前 (2017-03-21)回复
  4. #4

    感觉不错哦,认真拜读咯!

    增达网QQ-352186122年前 (2017-03-26)回复
  5. #5

    学习使人进步,到此拜读!

    衣皇后2年前 (2017-03-31)回复
  6. #6

    很不错!很好!

    dong2年前 (2017-04-02)回复
    • 谢谢

      yan2年前 (2017-04-02)回复
  7. #7

    从百度进来的,博客不错哦!

    衣皇后2年前 (2017-04-03)回复
  8. #8

    世事无常,但这个博客定能永保辉煌!

    yihuanghou2年前 (2017-04-18)回复
  9. #9

    我只想默默的拜读您的博客!

    xuan1年前 (2017-04-26)回复
  10. #10

    衣皇后:
    百万张美女套图,上万部美女视频,一键转存,打包下载:
    http://www.wen.yihuanghou.com/
    衣皇后,等你来!

    衣皇后1年前 (2017-05-11)回复
  11. #11

    受教了!呵呵!

    增达网1年前 (2017-05-15)回复
  12. #12

    古人日三省其身,我从博客里吸收养分!

    我赚啦1年前 (2017-05-20)回复
  13. #13

    您好,您的网站做的很不错,很漂亮,我已经收藏了,方便我随时访问.

    电动螺旋压力机1年前 (2017-05-22)回复
  14. #14

    很荣幸来到这里参观!

    衣皇后1年前 (2017-05-31)回复
  15. #15

    我来自火星刚到地球什么都不懂。

    增达网1年前 (2017-06-02)回复
  16. #16

    好好学习,天天向上

    8452621801年前 (2017-06-09)回复
  17. #17

    好几年没用过博客了,支持下!

    直销1年前 (2017-06-13)回复
  18. #18

    爷,收下我的膝盖!

  19. #19

    没玩过博客,感觉还挺好玩!

    增达网QQ-4187310801年前 (2017-06-16)回复
  20. #20

    很好的小站

    加气块设备1年前 (2017-06-16)回复
  21. #21

    这个不错哦,我好好读读!

    网赚1年前 (2017-06-22)回复
  22. #22

    看看你的博客,也是一种娱乐!

    增达网1年前 (2017-06-25)回复
  23. #23

    抱着学习的态度来看看

    我赚啦1年前 (2017-07-02)回复
  24. #24

    真是学无止境!

    三五营销软件1年前 (2017-07-12)回复
  25. #25

    玉不琢不成器,人不学不知道,拜读了!

    增达1年前 (2017-07-14)回复
  26. #26

    向经典致敬,与时代同行!

  27. #27

    我也有过博客,不过那都是很多年前的事情了!

    增达1年前 (2017-07-20)回复
  28. #28

    来看看总能学到一点东西!

    杭州兼职网1年前 (2017-07-24)回复
  29. #29

    感受学习的力量!

    笑八达1年前 (2017-08-12)回复
  30. #30

    感谢楼主的分享