首页 > 代码库 > JS单例设计模式
JS单例设计模式
单例,指的是只有一个实例的对象。
在应用单例模式时,生成单例的类必须保证只有一个实例的存在,很多时候整个系统只需要拥有一个全局对象,才有利于协调系统整体的行为。比如在整个系统的配置文件中,配置数据有一个单例对象进行统一读取和修改,其他对象需要配置数据的时候也统一通过该单例对象来获取配置数据,这样就可以简化复杂环境下的配置管理。
实现一:对象字面量
1 var singleton = { 2 name : value, 3 method : function(){ 4 //这里是方法内容 5 } 6 };
实现二:构造函数内部判断
1 function Construct(){ 2 // 确保只有单例 3 if( Construct.unique !== undefined ){ 4 return Construct.unique; 5 } 6 // 其他代码 7 this.name = "NYF"; 8 this.age="24"; 9 Construct.unique = this; 10 }
实现三:模块模式
1 var singleton = function(){ 2 //私有变量与私有函数 3 var privateVariable = 10; 4 5 function privateFunction(){ 6 //....... 7 } 8 9 return{ 10 publicProperty : true, 11 12 publicMethod : function(){ 13 privateVariable++; 14 return privateFunction(); 15 } 16 }; 17 }();
实现四:增强的模块模式(单例必须是某种类型)
1 var singleton = function(){ 2 var privateVariable = 10; 3 4 function privateFunction(){ 5 return false; 6 } 7 8 var object = new SomeType(); 9 10 object.publicProperty = true; 11 12 object.publicMethod = function(){ 13 privateVariable++; 14 return privateFunction(); 15 }; 16 17 return object; 18 }();
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。