js学习二十三种设计模式之一--工厂模式
//则抄至《javascritp高级程序设计》一书
//工厂模式抽象了创建具体对象的过程
//工厂模式
//用函数来封装以特定接口创建对象的细节。
function createPerson(name,age,job) {
var o = new Object();
o.name = name;
o.age = age;
o.job = job;
o.sayName = function () {
alert(this.name);
};
return o;
}
var person1 = createPerson("Nicholas",29,"Software Engineer");
var person2 = createPerson("Greg",27,"Doctor");
//可以无数次的调用这个函数,而每次它都会返回一个包含三个属性一个方法的对象。工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题(即怎样知道一个对象的类型),随着javascript的发展,有一个新的模式出现了,即构造函数模式。