珠峰培训

js中的单例模式和工厂模式

作者:fandonglai

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();