《JS设计模式》-设计模式概述

与很多其他软件工程技术一样,设计模式起源于建筑领域,它是对前人经验的总结,为后人设计与开发基于面向对象的软件提供指导方针和成熟的解决方案。

设计模式的定义

设计模式(Design Pattern)是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式为了可重用代码、让代码更容易被他人理解并且提高代码的可靠性。设计模式是一种用于对软件系统中不断重现的设计问题的解决方案进行文档化的技术,也是一种共享专家设计经验的技术。

GoF对设计模式的定义:

设计模式是在特定环境下为解决某一通用软件设计问题提供的一套定制的解决方案,该方案描述了对象和类之间的相互作用。

设计模式的分类

1.根据目的分类

根据目的分类,模式可分为创建型、结构型和行为型三类。

创建型模式:

此类型模式主要用于创建对象:
单例模式(Singleton Pattern)、工厂模式(Factory Pattern)、抽象工厂模式(Abstract Factory Pattern)、建造者模式(Builder Pattern)、原型模式(Prototype Pattern)

结构型模式

此类模式主要用于处理类或对象的组合:
适配器模式(Adapter Pattern)、桥接模式(Bridge Pattern)、过滤器模式(Filter、Criteria Pattern)、组合模式(Composite Pattern)、装饰器模式(Decorator Pattern)、外观模式(Facade Pattern)、享元模式(Flyweight Pattern)、代理模式(Proxy Pattern)

行为型模式

此类模式主要用于描述类或对象如何交互和怎么样分配职责:
责任链模式(Chain of Responsibility Pattern)、命令模式(Command Pattern)、解释器模式(Interpreter Pattern)、迭代器模式(Iterator Pattern)、中介者模式(Mediator Pattern)、备忘录模式(Memento Pattern)、观察者模式(Observer Pattern)、状态模式(State Pattern)、空对象模式(Null Object Pattern)、策略模式(Strategy Pattern)、模板模式(Template Pattern)、访问者模式(Visitor Pattern)

2. 根据范围分类

  1. 类模式:此类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时就被确定下来,时一种静态关系。
  2. 对象模式:此类模式处理对象间的关系,这些关系在运行时变化,更具动态性。

设计模式一览表

GoF的23种模式一览表

你可能感兴趣的:(《JS设计模式》-设计模式概述)