设计模式学习(3)模式分类

设计模式学习(3)模式分类

从封装变化角度对模式分类

组件协作:通过晚期绑定,来实现框架与应用程序之间额松耦合,是二者之间协作时常用的模式

  • Templete Method (模板方法)
  • Strategy(策略模式)
  • Observe / Event(观察者模式)

单一职责:类与类之间责任划分的问题

  • Decorator
  • Bridge

对象创建:

  • Factory Method
  • Abstract Factory
  • Prototype
  • Builder

对象性能:

  • Singleton
  • Flyweight

接口隔离:

  • Facade
  • Proxy
  • Mediator
  • Adapter

状态变化:

  • Mement
  • State

数据结构:

  • Composite
  • Iterator
  • Chain of Resposibility

行为变化:

  • Commad
  • Visitor

领域问题

  • Interpreter

重构获取模式

  • 所谓“好的面向对象设计”指是哪些可以满足“应对变化,提高复用”的设计

  • 什么时候,什么地点应用设计模式比理解设计模式结构本身更为重要。

  • 设计模式的应用不应该先入为主,一上来就使用设计模式是对设计模式最大的误用。没有一步到位的设计模式。

重构关键技法

  • 静态—>动态
  • 早绑定------->晚绑定
  • 继承------->组合
  • 编译时依赖-------->运行时依赖
  • 紧耦合------->松耦合

早绑定与晚绑定如何理解:

设计模式学习(3)模式分类