你的位置:首页 > 软件开发 > ASP.net > 设计模式(四):单例模式与工厂模式

设计模式(四):单例模式与工厂模式

发布时间:2016-06-11 14:00:05
在未读《JavaScript设计模式》这本书前,在我的印象里,单例模式就是每个类只会产生一个实例,非常简单。在细看到这个模式时候,有些疑惑单例模式与工厂模式的区别,虽然看起来像最大区别在于是否多次实例化。单例(Singleton)模式单例模式它限制了类的实例化次数只能一次。在实例 ...

在未读《JavaScript设计模式》这本书前,在我的印象里,单例模式就是每个类只会产生一个实例,非常简单。在细看到这个模式时候,有些疑惑单例模式与工厂模式的区别,虽然看起来像最大区别在于是否多次实例化。

单例(Singleton)模式

单例模式它限制了类的实例化次数只能一次。在实例不存在的情况下,可以通过一个方法创建一个类来实现创建类的新实例;如果实例已经存在,它会简单返回该对象的引用。(这跟我想的一样)

例子:

var mySingleton = (function () { // Instance stores a reference to the Singleton var instance; function init() {  // Singleton  // Private methods and variables  function privateMethod(){    console.log( "I am private" );  }  var privateVariable = "Im also private";  var privateRandomNumber = Math.random();  return {   // Public methods and variables   publicMethod: function () {    console.log( "The public can see me!" );   },   publicProperty: "I am also public",   getRandomNumber: function() {    return privateRandomNumber;   }  }; }; return {  // Get the Singleton instance if one exists  // or create one if it doesn't  getInstance: function () {   if ( !instance ) {    instance = init();   }   return instance;  } };})();

原标题:设计模式(四):单例模式与工厂模式

关键词:设计模式

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。