什么是工厂模式:
工厂模式是一种用来创建对象的设计模式。这种模式抽象了创建对象的过程,我们不暴露对象创建的逻辑,而是将逻辑封装在一个函数内,那么这个函数可以成为工厂。
考虑到ECMAScript中无法创建类,开发人员就发明了一种函数,用函数来封装以特定接口创建对象的细节。
例如:
function createPerson(name , age ,job){
var o= new Object();
o.name=name;
o.age=age;
o.job=job;
o.sayName=function (){
console.log(this.name);
}
return o;
}
var lihua = createPerson("Lihua","28","doctor");
lihua.sayName();
工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题(即怎样知道一个对象的类型)。