目录

设计模式


设计模式

面向对象思想的具体应用

  • 软件设计的标准库

1 创建型设计模式

  • 对类的实例话过程的抽象化(客户使用抽象的产品和工厂)
  • 使得系统独立于系统中对象的创建,组合和表示(创建什么,何时创建,谁来创建)
  • 一个类创建型模式使用继承改变被实例化的类(工厂方法)
  • 一个对象创建型模式将实例化委托给另一个对象

2 结构型设计模式

  • 结构型模式涉及到如何组合类和对象以获得更大的结构。
  • 类结构型模式,采用继承机制来组合接口或实现
    • 类适配器模式(包装器 Wrapper, HWWrapper)
  • 对象结构型模式,通过组合一些对象,从而实现新的功能

3 行为型设计模式

  • 涉及算法和对象间职责的分配(Command)
  • 描述对象间的通讯模式(Mediator)
  • 刻画了运行时难以跟踪的复杂的控制流(Template 是流程的复用)
  • 封装变化(Strategy, State)
  • 行为类模式使用继承机制在类间分派行为
    • Template Method
    • Interpreter
  • 行为对象模式使用复合而非继承,描述了一组对等对象如何相互协作完成一项由其中任何一个对象无法单独完成的任务
目的
创建 结构 行为
Factory Method Adapter Interpreter
Template Method
对象 Abstract Factory Adapter Chain of Responsibility
对象 Builder Bridge Iterator
对象 Prototype Composite Mediator
对象 Singleton Decorator Memento
对象 Facade Observer
对象 Flyweight State
对象 Proxy Strategy
对象 Visitor
对象 Command