设计模试读书笔记(一)
基本概念
模式的定义: 模式是一种问题的解决思路,它已经适用于一个实践环境,并且可以适用于其他环境。
作为设计开发人员,应该有发现模式的勇气!
模式应该有的几个特点:
(1) 在特定的场景下有可重用性,对相同类型不同问题的环境,其解决方案都有效。
(2) 可传授性,即问题出现的机会很多,解决问题的方案相同,人们相对可以接受。
(3) 有表示模式的名称。
设计模式的作用:
(1) 重用设计,重用设计比重用代码更有意义,它会自动带来代码重用。
(2) 为设计提供共同的词汇,每个模式名就是一个设计词汇,其概念使得程序员间的交流更加方便。
(3) 要开发文档中采用模式词汇可以让其他人更容易理解你的想法,编写开发文档也更加容易。
(4) 应用设计模式可以让重构系统变得容易,可确保开发正确的代码,并降低在设计或实现中出现错误的可能性。
(5) 正确使用设计模式,可以节省大量时间。
GRASP 设计模式分类 九种:
(1) Information Expert (信息专家)
(2) Creator (创造者)
(3) Low coupling (低偶合)
(4) High cohesion (高内聚)
(5) Controller (控制器)
(6) Polymorphism (多态)
(7) Pure Fabrication (纯虚构)
(8) Indirection (间接)
(9) Protected Variations (受保护变化)
GoF 设计模式分类:
1、根据目的准则分类
(1) Creational (创建型):与对象创建有关。
(2) Structural (结构型):处理类或对象的组合。
(3) Behavioral (行为型):描述类或对象如何交互及如何分配职责。
2、根据范围准则分类
(1) 类模式
(2) 对象模式
参考文献:莫勇腾.深入浅出设计模式[M].北京:清华大学出版社,2006
浙公网安备 33010602011771号