今天下雨,躺在靠椅上,捧着电脑,把《HEAD_FIRST设计模式》看完了,600 多页,应该是 4 个小时多些;然后周志明的 《深入理解Java虚拟机》看了半个小时,30-40 页。


经常看我推文的朋友应该知道,我有看书发笔记文章的习惯,但都是个人感悟,并不受欢迎,所以有兴趣点击底部 「阅读原文」链接,不单独推文了。

说回设计模式,谈到设计模式,第一反应都是 GoF 提出的 23 种设计模式,毕竟是开山之作,经典中的经典。通过看「设计模式之美」专栏、菜鸟教程总结的设计模式、C语言中文网总结的设计模式、《HEAD_FIRST设计模式》这些比较成体系的文章,给我的感觉就是,一千个读者有一千个哈姆雷特,每个人对设计模式的理解核心大致相同但又不尽相同
我当前对设计模式的总体理解是,模式就是在某种场景下针对某类问题的某种解决办法;大部分设计模式的主要目的就是为了提高代码的可扩展性;方便代码扩展的手段就是,提取和抽象出可能变化的地方;但解决一个问题的同时必然会引出新的问题(比如可扩展性提高了,可读性基本就下降了),所以要清楚地知道设计模式的作用与缺点方能准确取舍。

想要写出高质量(可扩展性、可读性、可维护性...)的代码,掌握了设计模式是不够的,还得熟悉设计原则、设计思想、良好的代码规范、持续重构代码的意识。
这些都是底层的理论建设,是内功,没有心法与实战的驱动,是驾驭不了的。从一些高质量源码中,能挖掘到大师们驾驭好代码的心法与他们的实际使用经验,所以后续准备在 JDK 及一些开源的代码中扣一些代码自己分析分析,这块弄明白了,效果应该是立竿见影的。
高质量代码的内容都整理到下图图片复制链接在线浏览所有节点:https://www.processon.com/view/link/5ef8915be0b34d4dba5a959d
附一些设计模式的学习资料清单:

  1. 《HEAD_FIRST设计模式》
  2. GoF 的《设计模式》
  3. 《Java与模式》
  4. 《The Timeless  Way of Building》、《A Pattern Language》,建筑领域的设计模式,也是软件中设计模式的思想源泉
  5. C语言中文网-设计模式http://c.biancheng.net/design_pattern/
  6. 菜鸟教程-设计模式https://www.runoob.com/design-pattern/design-pattern-tutorial.html
  7. 极客时间-设计模式之美,有些地方我看了三遍,偏实战与理解


更多相关文章

  1. 设计模式使用场景、优缺点汇总
  2. 几款代码高亮组件的体验,说不定你以后会用到
  3. 单例模式,这个面试题真那么简单吗?
  4. 从代码的改进,看参数行为化与Lambda
  5. Java8如何让自己的代码不那么啰嗦?!
  6. bootstrap高亮显示代码,且横向滚动
  7. 面试官:如何实现一个乐观锁(小白都能看得懂的代码)
  8. 单例模式的十种写法,你会几个?(重写版)
  9. binlog有哪些工作模式?Linux云计算运维入门

随机推荐

  1. Android LinearLayout布局随心所欲
  2. HTML颜色代码表
  3. Android HTTP协议请求网络(一)之认识探索
  4. Android:Intent Filter 和 action 简介
  5. android中一种欢迎界面模式
  6. Android(安卓)调用系统相机并加时间水印
  7. Android 实现全屏显示的几种方法整理
  8. Android中文 API (31) —— TimePicker
  9. Android Touch事件分发机制
  10. Android(安卓)UI开源框架