js设计模式(1)---单例模式
2013-04-19 17:05
120 查看
一直以来对单例模式的理解很凌乱,今天就整体了一下,希望能给用得到的朋友一点帮助。
0.前言
单例(singleton)对象在内存中只存在一份实例,一般用{}来呈现,{}里面有若干的属性和方法。借用该模式可以讲代码组织得更为一致,从而使其更容易阅读和维护。缺点是可能增强了代码之间的强耦合。
1.创建单例模式的方法
1.1 使用对象字面量,即{}
View Code
3.个人总结
1、在内存中只有一份,也就是只能实例化一次;
2、创建方式:首先可以使用对象字面量;第二呢,可以先进行判断,假如已经实例化过了,那么立即返回这个实例,否则创建该实例,然后返回;
3、在创建的过程中使用了自调用的匿名函数;
4、应用场合:模拟命名空间、解决分支分支、模块之间的通信
参考资料:
1、《javascript 设计模式》
2、AlloyTeam :http://www.alloyteam.com/2012/10/common-javascript-design-patterns/
3.汤姆大叔:/article/1307994.html
0.前言
单例(singleton)对象在内存中只存在一份实例,一般用{}来呈现,{}里面有若干的属性和方法。借用该模式可以讲代码组织得更为一致,从而使其更容易阅读和维护。缺点是可能增强了代码之间的强耦合。
1.创建单例模式的方法
1.1 使用对象字面量,即{}
View Code
var createXHRFactory = (function(){ var standXHR = { createXHR:function(){ return new XMLHttpRequest(); } }; var ieXHR = { createXHR:function(){ return new ActiveXObject('microsoft.XMLHTTP'); } }; var testObject; try{ testObject = standXHR.createXHR(); return standXHR; }catch(e){ testObject = ieXHR.createXHR(); return ieXHR; } })()
3.个人总结
1、在内存中只有一份,也就是只能实例化一次;
2、创建方式:首先可以使用对象字面量;第二呢,可以先进行判断,假如已经实例化过了,那么立即返回这个实例,否则创建该实例,然后返回;
3、在创建的过程中使用了自调用的匿名函数;
4、应用场合:模拟命名空间、解决分支分支、模块之间的通信
参考资料:
1、《javascript 设计模式》
2、AlloyTeam :http://www.alloyteam.com/2012/10/common-javascript-design-patterns/
3.汤姆大叔:/article/1307994.html
相关文章推荐
- JS设计模式——单例模式
- JS设计模式-代理模式
- JS设计模式二:工厂模式
- JS设计模式——5.单体模式(用了这么久,竟全然不知!)
- js设计模式——单例/单体模式
- js设计模式(5)---外观模式
- JS设计模式——代理模式
- JS设计模式 - 构造函数模式,工厂模式与抽象工厂模式
- JS设计模式-工厂模式
- js设计模式——单例模式
- JS设计模式——观察者模式
- js设计模式(7)---装饰者模式
- js设计模式(9)---代理模式
- JS设计模式——7.工厂模式(概念)
- js设计模式——构造函数模式
- js设计模式(3)---桥接模式
- JS设计模式 -原型模式与构造函数
- js设计模式(2)---工场模式
- head first 设计模式——(单件模式)
- 案例研究:中国金融科技50强之“安心de利”风控模式