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
浙公网安备 33010602011771号