创建型

  • 单例(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点
  • 抽象工厂(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口
  • 工厂方法(Factory Method):定义一个用于创建对象的接口,让子类决定哪一个类实例化
  • 原型(Prototype):用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象

    结构型

  • 适配器(Adapter):将一个类的接口转换成期望的另一个接口
  • 代理(Proxy):为其他对象提供一个代理以控制对这个对象的访问

    行为型

  • 备忘录(Memento):备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捉住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态
  • 观察者(Observer):在对象间定义一个一对多的联系性,由此当一个对象改变了状态,所有其他相关的对象会被通知并且自动刷新
  • 策略(Strategy):定义一个算法的系列,将其各个分装,并且使他们有交互性。策略模式使得算法在用户使用的时候能独立的改变