前言
于 2016.8.3 更新
今年的目标里有整理设计模式知识点,一直没有整理,最近效率还可以,希望能整理完.
有部分内容(面向对象基础,设计原则)是一年多以前写的,那时候还非常稚嫩,还需慢慢加深理解。
NOTE:主要目的是给自己看,如果你想学设计模式,推荐看书,后面资料有给出.
笔记目录:
- 面向对象基础-2015
- 设计原则(旧-2015版)
- 设计原则(新-2016版)
- UML 类图知识
- 策略模式
- 观察这模式
- 装饰者模式
- 工厂模式
- 单例模式
- 命令模式
- 适配器模式
- 外观模式
- 模板方法模式
- 迭代器模式
- 组合模式
- 状态模式
- 代理模式
- 复合模式
- 桥接模式
- 生成器模式
- 责任链模式
- 蝇量模式
- 解释器模式
- 中介者模式
- 备忘录模式
- 原型模式
- 访问者模式
需要注意的是,从桥接模式开始,<<深入浅出设计模式>>一书对它们的讲解就非常少了(大概每个设计模式就只有两页的篇幅),需要自己再买其他书看,学习.
另外这些读书笔记我在Github放了一份,跟其他书籍的读书笔记一起做成了一份Gitbook,阅读体验更好一些!—>ReadingNotes

感悟
- 不需要严格遵照设计模式,可以适当调整以符合需求(模式是死的,人是活的)
- 保持简单(KISS原则)
- 设计、重构的时候考虑设计模式
- 现在不需要,就别做
- 可能一直都不需要设计模式(helloworld就不要扯什么设计模式了)
- 过度使用设计模式可能导致代码被过度工程化。应该总是用最简单的解决方案完成工作,并在真正需要模式的地方才使用它。
实际上在开发过程中,自己已经不知不觉使用了不少设计模式,设计模式从实践中来,也特别需要在实践中去体会,不遇到困难,就不能真切深入的理解它。
有句话说的好,『没写过一万行代码,就别提什么设计模式』
设计模式只停止于阅读是远远不够的,还需努力!
设计模式推荐资料
HeadFirst设计模式
设计模式:可复用面向对象软件的基础
wiki:Design Patterns
Android源码设计模式解析与实战
EffectiveJava