13.与设计模式相处

创建型模式涉及到将对象实例化,这类模式都提供一个方法,将客户从所需要实例化的对象中解耦。

创建型:

  • Singleton
  • Builder
  • Prototype
  • Abstract Factory
  • Factory Method

只要是行为型模式,都涉及到类和对象如何交互和分配职责。

行为类:

  • Mediator
  • Visitor
  • Template Method
  • Iterator
  • Command
  • Memento
  • Interpreter
  • Observer
  • Chain of Responsibility
  • State
  • Strategy

结构型模式可以让你把类或对象组合到更大的结构中。

结构型:

  • Decorator
  • Proxy
  • Facade
  • Composite
  • Flyweight
  • Bridge
  • Adapter

类模式描述类之间的关系如何通过继承定义。类模式的关系是在编译时建立的。

类模式:

  • Template Method
  • Factory Method
  • Adapter
  • Interpreter

对象模式描述对象之间的关系,而且主要是利用组合定义。对象模式的关系通常在运行时建立,而且更加动态、更有弹性。

对象模式:

  • Composite
  • Visitor
  • Decorator
  • Proxy
  • Strategy
  • Bridge
  • Flyweight
  • Iterator
  • Command
  • Memento
  • Facade
  • Observer
  • Chain of Responsibility
  • Mediator
  • Prototype
  • State
  • Abstract Factory
  • Builder
  • Singleton

一句话概括模式:

  • 装饰者:包装一个对象,以提供新的行为。
  • 迭代器:在对象的集合之中游走,而不暴露集合的实现。
  • 状态:封装了基于状态的行为,并使用委托在行为之间切换。
  • 外观:简化一群类的接口
  • 策略:封装可以互换的行为,并使用委托来决定要使用哪一个。
  • 代理:包装对象,以控制对此对象的访问。
  • 工厂方法:由子类决定要创建的具体类是哪一个。
  • 适配器:封装对象,并提供不同的接口。
  • 观察者:让对象能够在状态改变时被通知。
  • 模板方法:由子类决定如何实现一个算法中的步骤。
  • 组合:客户用一致的方式处理对象集合和单个对象。
  • 单件:确保有且只有一个对象被创建。
  • 抽象工厂:运行客户创建对象的家族,而无需指定它们的具体类。
  • 命令:封装请求成为对象。

results matching ""

    No results matching ""