设计模式概述

模式分类

我们根据两条准则对模式进行分类:

  • 目的准则:即模式是用来完成什么工作的。a)创建型模式与对象的创建有关;b)结构型模式处理类或对象的组合;c)行为型模式对类或对象怎样交互和怎样分配职责进行描述;
  • 范围准则:指定模式主要是用于类还是对象。a)类模式处理类与子类之间的关系,这些关系通过继承建立,是静态的,在编译时便确定下来了;b)对象模式处理对象之间的关系,这些关系在运行时是可变化的;

创建型类模式将对象的部分创建工作延迟到子类,而创建型对象模式则将它延迟到另一个对象中;结构型类模式使用继承机制来组合类,而结构型对象模式则描述了对象的组装方式;行为型类模式使用继承描述算法和控制流,而行为型对象模式则描述一组对象怎样协作完成单个对象所无法完成的任务。

目的
创建型 结构型 行为型
范围 工厂方法Factory Method 适配器Adapter 解释器Interpreter
模版方法Template Method
对象 抽象工厂Abstract Factory
建造者Builder
原型Prototype
单例Singleton
适配器Adapter
桥接Bridge
组合Composite
装饰器Decorator
外观Facade
享元Fly weight
代理Proxy
责任链Chain of Responsibility
命令Command
迭代器Iterator
中介者Mediator
备忘录Memento
观察者Observer
状态State
策略Strategy
访问者Visitor

参考

  1. 《设计模式-可复用面向对象软件的基础》