js 单体模式

Js代码 

var Pserson={  

   _age:10,  

   _name:'defaultName',  

   _setAge:function(){},  

   _setName:function(){},  

  getName:function(){}  

}  

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

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

单体模式的基本结构

 

Js代码 

var Person={  

   attribute1:true,  

   attribute2:false,  

   method1:function(){},  

    method2:function(arg){  

}     

}  

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

拥有私有成员的单体。

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

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

 

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

Js代码 

var Person=(function(){  

           var age=10;  

           var name="test";  

           var setAge=function(){  

           }  

           return {  

           getName:function(){  

          },  

         getAge:function(){  

             }  

             }  

})() 

转别人的:http://hi.baidu.com/efzqacbljoaltvr/item/ef5a616bb025372d69105bef

posted on 2012-12-01 21:10  无屁不成风  阅读(214)  评论(0)    收藏  举报

导航