《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种模式一览表
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 与很多其他软件工程技术一样,设计模式起源于建筑领域,它是对前人经验的总结,为后人设计与开发基于面向对象的软件提供指...
    张中华阅读 3,085评论 0 1
  • 1.2 设计模式是什么 俗话说:站在别人的肩膀上,我们会看得更远。设计模式的出现可以让我们站在前人的肩膀上,通过一...
    二斤寂寞阅读 1,365评论 0 0
  • 设计模式概述 在学习面向对象七大设计原则时需要注意以下几点:a) 高内聚、低耦合和单一职能的“冲突”实际上,这两者...
    彦帧阅读 9,152评论 0 14
  • 1. 起源 模式 是由模式之父 (Christopher Alexander,克里斯托弗·亚历山大)及其研究团队对...
    CodexBai阅读 3,424评论 0 2
  • 设计模式概述 基于设计原则,GoF(设计模式总结4人组)总结了软件开发领域的23个经典设计模式。虽然GoF设计模式...
    彦帧阅读 4,280评论 0 0