对于创建多类对象,简单工厂就不太实用了。
通过工厂方法模式可以轻松的创建多个类的实例对象,而且创建对象的方式避免了使用者与对象类之间的耦合,用户不必关心创建该对象的具体类,只需调用工厂方法即可。
安全的工厂方法模式
var Factory=function(type,content){
if(this instanceof Factory){
var s = new this[type](content);
}else{
return new Factory(type,content);
}
}
//工厂原型中设置创建所有类型数据对象的基类
Factory.prototype = {
Java: function( content ){
console.log(content);
},
JavaScript: function( content ){
console.log(content);
}
}
测试的数据
var data=[
{type:'Java',content:'java'},
{type:'Java',content:'java2'},
{type:'JavaScript',content:'javascript'},
{type:'Java',content:'java3'}
];
var len = data.length-1;
for(var i=len;i>=0;i--){
Factory(data[i].type,data[i].content);
}
返回结果:
希望大神多多指点。qq:274501366