设计模式-导学二
1、分类
今天在听课过程中发现了一种比较容易理解的分类方式,主要分类的角度是从封装变化的角度对模式进行分类。
从封装变化角度对模式进行分类:
- 组件协作
- Tempalte Method
- Strategy
- Observer/Event
- 单一职责
- Decorator
- Bridge
- 对象创建
- Factory Method
- Abstract Factory
- Prototype
- Builder
- 对象性能
- Singleton
- Flyweight
- 接口隔离
- Facade
- Proxy
- Mediator
- Adapter
- 状态变化
- Memento
- State
- 数据结构
- Composite
- Iterrator
- Chain of Resposibility
- 行为变化
- Command
- Visitor
- 领域问题
- Interpreter
2、设计模式学习方式-重构获得模式
重构获得模式–
- 面向对象设计模式是“好的面向对象设计”,所谓“好的面向对 象设计”指是那些可以满足 **“应对变化,提高复用”**的设计 。
- 现代软件设计的特征是“需求的频繁变化”。设计模式的要点是 “寻找变化点,然后在变化点处应用设计模式,从而来更好地应对 需求的变化”,“什么时候、什么地点应用设计模式”比“理解设 计模式结构本身”更为重要。
- 设计模式的应用不宜先入为主,一上来就使用设计模式是对设计 模式的最大误用。没有一步到位的设计模式。敏捷软件开发实践提 倡的“Refactoring to Patterns”是目前普遍公认的最好的使用设 计模式的方法
3、重构的关键技巧
下面的技巧可能现在并不能看懂,不过等学完整个设计模式之后,再回来看就会发现他们表达的意思!!!
- 静态 =》 动态
- 早绑定 =》 晚绑定
- 继承 =》 组合
- 编译时依赖 =》 运行时依赖
- 紧耦合 =》 松耦合