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

设计模式 yan loading.. 31评论

准备

为了有助于理解设计模式,看懂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/

关注<爱上极客>公众号,定期推送精彩内容!

喜欢 (3)

如未说明则本站原创,转载请注明出处:爱上极客 » 《headfirst设计模式》Java设计模式笔记


0
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(31)个小伙伴在吐槽
  1. 就是喜欢看你博客!
    增达网2017-03-06 16:22 回复
  2. 大王叫我来巡山,我把博客转一转。(*^__^*) 嘻嘻……
    Feeey个人博客2017-03-12 09:25 回复
  3. 真是时光荏苒!
  4. 感觉不错哦,认真拜读咯!
  5. 学习使人进步,到此拜读!
    衣皇后2017-03-31 14:02 回复
  6. 很不错!很好!
    dong2017-04-02 21:33 回复
    • 谢谢
      yan2017-04-02 21:34 回复
  7. 从百度进来的,博客不错哦!
    衣皇后2017-04-03 17:48 回复
  8. 世事无常,但这个博客定能永保辉煌!
    yihuanghou2017-04-18 09:15 回复
  9. 我只想默默的拜读您的博客!
    xuan2017-04-26 14:36 回复
  10. 衣皇后: 百万张美女套图,上万部美女视频,一键转存,打包下载: http://www.wen.yihuanghou.com/ 衣皇后,等你来!
    衣皇后2017-05-11 17:10 回复
  11. 受教了!呵呵!
    增达网2017-05-15 15:24 回复
  12. 古人日三省其身,我从博客里吸收养分!
    我赚啦2017-05-20 10:28 回复
  13. 您好,您的网站做的很不错,很漂亮,我已经收藏了,方便我随时访问.
  14. 很荣幸来到这里参观!
    衣皇后2017-05-31 10:53 回复
  15. 我来自火星刚到地球什么都不懂。
    增达网2017-06-02 10:44 回复
  16. 好好学习,天天向上
    8452621802017-06-09 14:59 回复
  17. 好几年没用过博客了,支持下!
    直销2017-06-13 16:34 回复
  18. 爷,收下我的膝盖!
  19. 没玩过博客,感觉还挺好玩!
  20. 很好的小站
    加气块设备2017-06-16 09:13 回复
  21. 这个不错哦,我好好读读!
    网赚2017-06-22 09:45 回复
  22. 看看你的博客,也是一种娱乐!
    增达网2017-06-25 11:18 回复
  23. 抱着学习的态度来看看
    我赚啦2017-07-02 10:20 回复
  24. 真是学无止境!
    三五营销软件2017-07-12 08:26 回复
  25. 玉不琢不成器,人不学不知道,拜读了!
    增达2017-07-14 08:12 回复
  26. 向经典致敬,与时代同行!
  27. 我也有过博客,不过那都是很多年前的事情了!
    增达2017-07-20 16:17 回复
  28. 来看看总能学到一点东西!
    杭州兼职网2017-07-24 08:09 回复
  29. 感受学习的力量!
    笑八达2017-08-12 11:07 回复
  30. 感谢楼主的分享