javascript 设计模式之单例模式

         整理下在javascript开发中常用的集中设计模式,就从单例模式开始吧,单例模式(Singleton)是最常用的一种设计模式,可能在工作中不经意的就使用了这种模式做工具的封装、数据库的链接操作等,单例只有一个入口(而且只能通过自己实例化),通过入口可以获得对象的实例化,保障系统中只有一个实例化对象节省系统资源。上代码

  

var Singleton = (function(){
  var init = function(arg){
     var self = this;
     //私有方属性和方法,
     var a = 1;
      var b = 2;

      //特例方法和属性
      self.sum = a + b;
      self.fun1 = function(){
        console.log("fun1");
      };
     self.fun2 = function(){
        console.log("fun2");
      };
  };
  var instance;
  return {
    getInstance: function(arg){
      if(!instance){
        instance = new init(arg);
      }
      return instance;
    }
  }
})();

console.log(Singleton.getInstance().sum);
Singleton.getInstance().fun1();

你可能感兴趣的:(JavaScript)