js设计方式一 单体模式

js设计模式一 单体模式
var Pserson={

   _age:10,

   _name:'defaultName',

   _setAge:function(){},

   _setName:function(){},

  getName:function(){}

}
 

单体模式应该是javascript中最基本的设计模式。

可以用来划分命名空间,减少全局变量的数目。因为单体只会被创建实例化一次,所以你不用担心自己在构造函数中声明了多少成员。每个方法和属性只会被创建一次。所以单体模式一般是用于不会重复使用的功能模块的封装。比如附件上传控件,比如xhr对象创建封装等类似的功能。

单体模式的基本结构

 

var Person={
   attribute1:true,
   attribute2:false,
   method1:function(){},
    method2:function(arg){
}   
}

 这就是单体模式的基本结构,可以对单体进行修改,可以添加新的成员。单体对象由俩部分组成1.属性。2.方法

拥有私有成员的单体。

一般用以下方法来进行创建

1.使用下划线表示法 :使用下划线表示该属性和方法为私有方法,不提倡调用,但从语法和访问范围上都是可以调用的

 

2.使用闭包:采用该方式来进行封装的比较流行。而且是声明时进行立即初始化,如果当构造函数过于复杂,又不希望立即加载的话,可以进行改造成惰性加载。其实就是将整个对象的初始化过程用另外一个函数进行封装,然后暴露给外面的调用者,外面的调用者在需要使用该对象时,再进行初始化

var Person=(function(){

           var age=10;

           var name="test";

           var setAge=function(){

           }

           return {

           getName:function(){

          },

         getAge:function(){

             }

             }

})()