学习设计模式的方法
- 慢一点,多思考多理解
- 勤做练习,就像作者一样自己做笔记
- 睡觉前别看有难度的内容
- 多喝水
- 劳逸结合
- 设计一些东西
使用模式最好的方式是把模式装进脑子里,在你的设计和已有的应用中寻找何处可以使用它们。从代码复用--->经验复用。
设计原则NO.1
找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。
设计原则NO.2
针对接口编程,而不是针对实现编程
设计原则NO.3
多用组合,少用继承
策略模式
定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
知道抽象、继承、多态这些概念并不会马上让你变成好的面向对象设计者,设计大师关心的是建立弹性的设计,可以维护,可以应付变化。
个人思考
设计模式就是一种如何更加合理组织程序各部分之间关系的学问,致力于让软件系统后期的可维护性、可扩展性得到增强,减少后期修改的麻烦。所以,等较好的掌握了基础知识以后,最终的学问在于学习设计。
要点
- 知道OO基础,并不足以让你设计出良好的OO系统
- 良好的OO设计必须具备可复用性、可扩充、可维护特性
- 模式可以让我们建造出具有良好OO设计质量的系统
- 模式被认为是历经验证的OO设计经验
- 模式不是代码,而是针对设计问题的通用解决方案
- 模式不是被发明,而是被发现
- 大多数的模式和原则都着眼于软件变化的主题
- 大多数模式都允许系统局部改变独立于其他部分
- 我们常把系统中会变化的部分抽出来封装
- 模式让开发人员之间有共享的语言,能够最大化沟通的价值