返回首页 学用 JavaScript 设计模式

设计模式

JavaScript 设计模式

JavaScript MV* 模式

模块化 JavaScript 设计模式

jQuery 中的设计模式

其他模式

设计模式分类概览表

现在让我们看看这个表格。

SN 描述
Creational 根据创建对象的概念分成下面几类。
Class
Factory Method(工厂方法) 通过将数据和事件接口化来构建若干个子类。
Object
Abstract Factory(抽象工厂) 建立若干族类的一个实例,这个实例不需要具体类的细节信息。(抽象类)
Builder (建造者) 将对象的构建方法和其表现形式分离开来,总是构建相同类型的对象。
Prototype(原型) 一个完全初始化的实例,用于拷贝或者克隆。
Singleton(单例) 一个类只有唯一的一个实例,这个实例在整个程序中有一个全局的访问点。
Structural 根据构建对象块的方法分成下面几类。
Class
Adapter(适配器) 将不同类的接口进行匹配,调整,这样尽管内部接口不兼容但是不同的类还是可以协同工作的。
Bridge(桥接模式) 将对象的接口从其实现中分离出来,这样对象的实现和接口可以独立的变化。
Composite(组合模式) 通过将简单可组合的对象组合起来,构成一个完整的对象,这个对象的能力将会超过这些组成部分的能力的总和,即会有新的能力产生。
Decorator(装饰器) 动态给对象增加一些可替换的处理流程。
Facada(外观模式) 一个类隐藏了内部子系统的复杂度,只暴露出一些简单的接口。
Flyweight(享元模式) 一个细粒度对象,用于将包含在其它地方的信息 在不同对象之间高效地共享。
Proxy(代理模式) 一个充当占位符的对象用来代表一个真实的对象。
Behavioral 基于对象间作用方式来分类。
Class
Interpreter(解释器) 将语言元素包含在一个应用中的一种方式,用于匹配目标语言的语法。
Template Method(模板方法) 在一个方法中为某个算法建立一层外壳,将算法的具体步骤交付给子类去做。
Object
Chain of Responsibility(响应链) 一种将请求在一串对象中传递的方式,寻找可以处理这个请求的对象。
Command(命令) 封装命令请求为一个对象,从而使记录日志,队列缓存请求,未处理请求进行错误处理 这些功能称为可能。
Iterator(迭代器) 在不需要直到集合内部工作原理的情况下,顺序访问一个集合里面的元素。
Mediator(中介者模式) 在类之间定义简化的通信方式,用于避免类之间显式的持有彼此的引用。
Observer(观察者模式) 用于将变化通知给多个类的方式,可以保证类之间的一致性。
State(状态) 当对象状态改变时,改变对象的行为。
Strategy(策略) 将算法封装到类中,将选择和实现分离开来。
Visitor(访问者) 为类增加新的操作而不改变类本身。
上一篇: 设计模式的分类 下一篇: 构造器模式