Gof 23 中设计模式

      经常都说设计模式,gof设计模式,23中设计模式等等.但gof到底是什么,23中设计模式到底是哪23中设计模式呢,可能这23中设计模式或了解,或精通,或似是而非,现在就将gof 23中设计模式做个简单的总结,

      GOF-- Gang of Four(四人组)

     《Design Patterns: Elements of Reusable Object-Oriented Software》(即后述《设计模式》 一书),由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著(Addison-Wesley,1995)。这几位作者常被称为"四人组(Gang of Four)",而这本书也就被称为"四人组(或 GoF)"书。在《设计模式》这本书的最大部分是一个目录,该目录列举并描述了 23 种设计模式。  ----摘自百度百科.

       这23中设计模式包括:

  • 创建型模式(5种)
  1. Factory模式:工厂模式,使用工厂类来创建对象.
  2. AbstactFactory模式:抽象工厂类,顾名思义就是将一组工厂类再抽象.
  3. Singleton模式:单例模式,确保在整个系统中只能创建出唯一的一个实例.
  4. Builder模式:与工厂模式类似,但Builder模式一般用来创建比较复杂的对象.
  5. Prototype模式:原模式,类似于js中的prototype,提供自我复制的功能
  • 结构型模式(7种)
  1. Bridge模式:桥模式,用来连接两个相对独立的部分(抽象/实现)
  2. Adapter模式:适配器模式,与现实中的适配器具有相同的功能,使用其他的类或实例来完成自己不能完成的功能.
  3. Decorator模式:装饰模式,通过组合的方式给类增加职责
  4. Composite模式:组合模式,递归构建树状的组合结构,如文件系统(文件/目录)
  5. Flyweight模式:享元模式,避免大量拥有相同内容的小类的开销,使大家共享一个类
  6. Facade模式:外观模式,为子系统中的一组接口提供一个统一的高层接口
  7. Proxy模式:代理模式,为其他对象提供一种代理以控制对这个对象的访问
  • 行为模式(11种)
  1. Template模式:模板模式,为某种情况提供一个实现框架.
  2. Strategy模式:策略模式,定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换
  3. State模式:状态模式,当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类
  4. Observer模式:观察者模式,在它本身的状态改变时主动发出通知.
  5. Memento模式:记忆模式,在不破坏封装行的前提下,捕获并保存一个类的内部状态,这样就可以利用该保存的状态实施恢复操作.
  6. Mediator模式:中介者模式,定义一个中介对象来封装系列对象之间的交互.
  7. Command模式:命令模式,将一组行为抽象为对象,实现二者之间的松耦合
  8. Visitor模式:访问者模式,其意图在于让代码用户能够在不修改现有类层次结构的前提下,定义该类层次结构的操作.
  9. Chain of Responsibility模式:职责链模式,
  10. Iterator模式:迭代器模式
  11. Interpreter模式:解释器模式,

你可能感兴趣的:(设计模式)