重学设计模式(一)之读《Head First 设计模式》

作者 : 开心源码 本文共711个字,预计阅读时间需要2分钟 发布时间: 2022-05-12 共248人阅读

前言

最近重新学习了下设计模式,用了几天把几位大佬的《Head First 设计模式》读了一遍,整理了下读书笔记,作为设计模式学习的一个大纲,为持续学习做个指导。

以前读设计模式的时候,实践经验比较少,所以了解不是很透彻。这次重读,结合自己的实践经验,给人的启发性就大了很多。

PS:此篇文章只是一个大纲

大佬箴言

  • 假如没有类实现某个接口,那么此接口的存在就没有意义
  • 在我们的设计中,应该允许行为可以被扩展,而无需修改现有的代码
  • 在OO设计的过程中,折衷一直是免不了的
  • 模式是用来处理一个经常性重复发生的设计问题(模式必需应用于一个重复出现的问题)
  • 模式不是法律或者原则,模式只是指导方针
  • 设计时,尽可能地用最简单的方式处理问题
  • 系统已经非常复杂了,而且并不需要预留任何弹性的时候,就不要使用模式
  • 过度使用设计模式可能导致代码被过度工程化,模式是工具而不是规划,需要被适当地调整以符合你的需求
  • 在设计前期使用模式常常导致过度工程

学习知识,绝对禁止的一件事就是照搬,学了设计模式也只是多了少量处理问题的指导思想,是一把钥匙,而不是一种绝对的处理方案。

设计准则

  • 封装变化
  • 多用组合,少用继承
  • 针对接口编程,不针对实现编程
  • 为交互对象之间的松耦合设计而努力
  • 类应该对扩开展放,对修改关闭
  • 依赖倒置准则:依赖笼统,不依赖具体类
  • 最少知识准则:只和朋友交谈(减少对象之间的交互)
  • 好莱坞准则:别找我,我会找你
  • 类应该只有一个改变的理由

全书大纲

此处是整理的一个思维导图,还不是很完善,持续升级中……(简书貌似不支持文件上传?)

  • 观察者模式
  • 装饰者模式
  • 工厂模式
  • 单件模式
  • 命令模式
  • 适配器与外观模式
  • 模板方法模式
  • 迭代与组合器模式
  • 状态模式
  • 策略模式
  • 代理商模式
  • 其余模式

    Head First 设计模式.jpg

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 重学设计模式(一)之读《Head First 设计模式》

发表回复