js中的单例模式和工厂模式
2016-07-24 22:32:03
196
设计模式
1 、单例模式
对象数据类型的作用:
把描述同一件事物的属性和方法放在同一段堆内存中,起到分组的作用,防止冲突;
这样不同事物间即使属性名一样也不会发生冲突.
这种分组的编写代码模式叫做
单例模式
;在单例模式中把对象名叫做命名空间
。单例模式是一种项目开发中经常使用的模式,可以使用单例模式进行模块化开发。
例:
var person = {
name: "Amy",
age: 12,
write: function(){
alert(this.name,this.age);
}
};
person.write();
2、 工厂模式
单例模式虽然解决了分组的问题,但是不能实现批量的生产,属于手工作业模式。
工厂模式是把实现同一件事情的代码放到一个函数中,如果以后想实现这个功能,只需执行当前函数就可以了,这就叫做
函数的封装
。函数的封装,是为了
低耦合高内聚
,减少页面中的冗余代码,提高代码的重复利用率
function factory(name,age){
var obj = {};
obj.name = name;
obj.age = age;
obj.write = function(){
alert(this.name+"can write JS!");
}
return obj;
}
var p1 = factory("Amy",12);
var p2 = factory("Bob",14);
p1.write();
p2.write();