设计模式的分类

设计模式分类

1.按目的分类

  • 创建型(Creational)模式:将对象的部分创建工作延迟到子类或者其他对象,从而应对需求变化为对象创建时具体类型实现引来的冲击。

    • 简单工厂模式(Simple Factory)
    • 工厂方法模式(Factory Method)
    • 抽象工厂模式(Abstract Factory)
    • 创建者模式(Builder)
    • 原型模式(Prototype)
    • 单例模式(Singleton)
  • 结构型(Structural)模式:结构型模式是为解决怎样组装现有的类,设计它们的交互方式,从而达到实现一定的功能目的。结构型模式包容了对很多问题的解决。例如:扩展性(外观、组成、代理、装饰)、封装(适配器、桥接)。

    • 外观模式/门面模式(Facade门面模式)
    • 适配器模式(Adapter)
    • 代理模式(Proxy)
    • 装饰模式(Decorator)
    • 桥梁模式/桥接模式(Bridge)
    • 组合模式(Composite)
    • 享元模式(Flyweight)
  • 行为型(Behavioral)模式:通过类继承或者对象组合划分类与对象间的职责,从而应对需求变化对多个交互的对象带来的冲击。

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

三者关系

  • 创建型模式为其他两种模式使用提供了环境。
  • 结构型模式侧重于接口的使用,它做的一切工作都是对象或是类之间的交互,提供一个门。
  • 行为型模式顾名思义,侧重于具体行为,所以概念中才会出现职责分配和算法通信等内容。

2.从范围看:

  • 类模式处理类与子类的静态关系。
  • 对象模式处理对象间的动态关系。

你可能感兴趣的:(软件设计与架构)