美文网首页
设计模式之单例模式

设计模式之单例模式

作者: hha123 | 来源:发表于2018-08-13 23:31 被阅读0次

varmySingleton =function() {

/* 这里声明私有变量和方法 */

varprivateVariable = 'something private';

functionshowPrivate() {

console.log(privateVariable);

}

/* 公有变量和方法(可以访问私有变量和方法) */

return{

publicMethod:function() {

showPrivate();

},

publicVar: 'the public can see this!'

};

};

varsingle = mySingleton();

single.publicMethod();// 输出 'something private'console.log(single.publicVar);// 输出 'the public can see this!'

上面的代码很不错了,但如果我们想做到只有在使用的时候才初始化,那该如何做呢?为了节约资源的目的,我们可以另外一个构造函数里来初始化这些代码,如下:

varSingleton = (function() {

varinstantiated;

functioninit() {

/*这里定义单例代码*/

return{

publicMethod:function() {

console.log('hello world');

},

publicProperty: 'test'

};

}

return{

getInstance:function() {

if(!instantiated) {

instantiated = init();

}

returninstantiated;

}

};

})();

/*调用公有的方法来获取实例:*/

Singleton.getInstance().publicMethod();

http://www.cnblogs.com/TomXu/archive/2012/02/20/2352817.html

相关文章

网友评论

      本文标题:设计模式之单例模式

      本文链接:https://www.haomeiwen.com/subject/pxwpbftx.html