各设计模式之间的总结和对比

      • 分类
      • 模式之间关系图
      • 分类
      • 模式之间关系图
      • 模式之间关联关系和对比

分类

创建型:
    * 工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)、原型模式(Prototype)、单例模式(Singleton)

结构型:
    * 适配器模式(Adapter)、桥接模式(Bridge)、组合模式(Composite)、装饰器模式(Decorator)、门面模式(Facade)、享元模式(Flyweight)、代理模式(Proxy)

行为型:
    * 解释器模式(Interpreter)、模板方法模式(Template Method)、责任链模式(Chain of Responsibility)、命令模式(Command)、迭代器模式(Iterator)、调解者模式(Mediator)、备忘录模式(Memento)、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、访问者模式(Visitor)

模式之间关系图

文章目录

      • 分类
      • 模式之间关系图
      • 分类
      • 模式之间关系图
      • 模式之间关联关系和对比

分类

创建型:
    * 工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)、原型模式(Prototype)、单例模式(Singleton)

结构型:
    * 适配器模式(Adapter)、桥接模式(Bridge)、组合模式(Composite)、装饰器模式(Decorator)、门面模式(Facade)、享元模式(Flyweight)、代理模式(Proxy)

行为型:
    * 解释器模式(Interpreter)、模板方法模式(Template Method)、责任链模式(Chain of Responsibility)、命令模式(Command)、迭代器模式(Iterator)、调解者模式(Mediator)、备忘录模式(Memento)、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、访问者模式(Visitor)

模式之间关系图

各设计模式之间的总结和对比_第1张图片

模式之间关联关系和对比

  • 工厂模式和单例模式
* 实际业务代码中, 工厂模式通常为单例;
  • 策略模式和工厂模式
* 工厂模式注重的是对象的创建过程;
* 策略模式注重的是算法的隐式替换;
  • 策略模式和委派模式
* 策略模式注重的是算法能否动态隐式替换;
* 委派模式注重分发过程;
  • 模板方法和工厂方法模式
* 工厂方法模式是一种特殊的模板模式;
* 工厂方法模式相当于只有一个抽象方法的模板模式;
  • 模板方法模式和策略模式
* 策略模式注重动态隐式替换;
* 模板支持不允许动态替换;
  • 装饰者模式和静态代理
* 装饰者模式注重给对象动态添加方法;
* 静态代理注重控制对象的访问,给对象的指定方法增强;

* 代理模式通常在代理对象中创建被代理对象实例;
* 装饰者模式通常 把被装饰者作为构造参数传递给装饰器;
  • 装饰者模式和适配器模式
* 装饰者模式中, 被装饰者和装饰器必须同宗同源;(is-a)
* 适配器模式可以不同宗同源;
  • 适配器模式和静态代理模式
* 适配器可以采用静态代理实现, 但不是唯一实现方式;
  • 适配器和策略模式
* 适配器可以结合策略模式, 用以应对复杂逻辑;

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