JavaScript设计模式笔记(零)设计模式的原则

设计模式是设计于解决某些特定情况,但解决这些特定情况的设计,也需要遵循一定的原则

JavaScript设计模式笔记(九)装饰者模式

装饰者模式的定义

装饰者模式用于为对象动态地添加一些额外的职责,而不改变对象内部原来的代码实现。

JavaScript设计模式笔记(八)职责链模式

职责链模式的定义

职责链模式将多个对象用链的形式连接起来,当某个对象无法执行某个方法时,将请求沿链发送到下一个对象,交给下一个对象去处理,直到对象被处理或者到达链的末端,而链的末端一般是表示方法无法被执行或者标明某种特殊情况。

JavaScript设计模式笔记(七)享元模式

享元模式的定义

从名字来看,享—>共享,元—>对象,这里的享元指的是共享对象的意思。在享元模式中,我们尽可能减少对象的使用。

JavaScript设计模式笔记(六)组合模式

组合模式的定义

组合模式将对象组合成树形结构,以表示“部分-整体”的层次结构。
曾探《JavaScript设计模式与开发实践》
组合模式用于处理组合对象的请求。

JavaScript设计模式笔记(五)命令模式

命令模式定义

命令指一个执行某件特定事件的指令,命令模式将发起命令者和执行命令者分离。对两者进行了松耦合的处理,体现了开放-封闭原则。

JavaScript设计模式笔记(四)发布-订阅模式

发布订阅模式的理解

发布-订阅模式又叫观察者模式,定义:

对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知。
—-《JavaScript设计模式与开发实践》

JavaScript设计模式笔记(三)代理模式

代理模式的理解

为一个对象提供一个代用品或占用符,以便控制对它的访问
—-《JavaScript设计模式与开发实践》

JavaScript设计模式笔记(二)策略模式

什么是策略模式

策略模式的定义为:

定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换
—-《JavaScript设计模式与开发实践》

JavaScript设计模式笔记(一)单例模式

什么是单例模式

对于面向对象的语言来说,单例模式即是一个类仅能有一个实例,并提供一个能访问它的全局访问点
我们使用JavaScript来模仿面向对象中语言的单例模式