摘要: 1.中介者模式中介者模式的作用就是用来解除对象与对象之间的紧耦合关系,增加中介者后,所有相关对象都通过中介者来通信,而不再相互引用1.1中介者模式的例子以泡泡堂游戏为例,先定义一个玩家构造函数,它有三个原型方法Player.prototype.win,Player.prototype.lose,Pl... 阅读全文
posted @ 2015-07-29 23:00 GongQi 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 1. 享元模式享元模式是一种用于性能优化的模式,享元模式的核心是运用共享技术来有效支持大量细粒度的对象1.1 传统的文件上传方法以文件上传为例,文件上传功能可以选择依照队列,一个一个的排队上传,也支持同时选择2000个文件。假如每一个文件都对应着一个JavaScript上传对象的创建,2000个文件... 阅读全文
posted @ 2015-07-20 23:20 GongQi 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 1. 模板方法模式1.1 面向对象方式实现模板方法模式以泡茶和泡咖啡为例,可以整理为下面四步把水煮沸用沸水冲泡饮料把饮料倒进杯子加调料首先创建一个抽象父类来表示泡一杯饮料var Beverage=function(){};Beverage.prototype.boilWater=function()... 阅读全文
posted @ 2015-07-18 23:44 GongQi 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 1.命令模式1.1 传统的命令模式命令模式的应用场景:请求的发送者和请求接收者消除彼此耦合关系以页面点击按钮为例点击按钮后,借助命令对象,解开按钮和负责具体行为对象之间的耦合 按钮1 按钮2 按钮3定义setCommand函数,绑定行为。var setCommand=functio... 阅读全文
posted @ 2015-07-16 23:16 GongQi 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 1.观察者模式观察者模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。JavaScript中通常采用事件模型替代传统的观察者模式1.1 逐步实现观察者模式以客户看房为例首先指定谁充当发布者,如售楼处然后给发布者添加一个缓存列表,用于存放回调函数以便通知... 阅读全文
posted @ 2015-07-16 22:47 GongQi 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 1.代理模式代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问1.1 一般的图片加载var myImage=(function () { var imgNode=document.createElement('img'); document.body.appe... 阅读全文
posted @ 2015-07-16 16:28 GongQi 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 1.策略模式定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换1.1 传统实现根据工资基数和年底绩效来发送年终奖var calculateBonus= function (performanceLevel,salary) { if(performanceLevel === 'S'){... 阅读全文
posted @ 2015-07-16 15:45 GongQi 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 1、单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点1.1 传统的单例模式var Singleton=function(name){ this.name=name;}Singleton.prototype.getName=function(){ alert(this.name... 阅读全文
posted @ 2015-07-16 14:42 GongQi 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 一、浅拷贝当我们需要将一个对象拷贝至另一个对象时,我们一般会这么实现function shadowCopy(source,target){ var target=target||{}; for(var i in source) { target[i]=source[i... 阅读全文
posted @ 2015-07-09 16:16 GongQi 阅读(1098) 评论(3) 推荐(1) 编辑
摘要: 彻底理解Javascript原型继承之前写过一篇Javascript继承主题的文章,这篇文章作为一篇读书笔记,分析的不够深入。本文试图进一步思考,争取彻底理解Javascript继承原理实例成员与原型成员举一个《高性能Javascript》书中例子var book={ title :"High... 阅读全文
posted @ 2015-06-05 14:11 GongQi 阅读(1432) 评论(2) 推荐(2) 编辑