1.工厂方法模式
将实际创建对象工作推迟到子类中,在js中将工厂方法看作一个实例化对象的工厂类,将构造对象的构造函数放在工厂方法类的原型中即可。
'use strict';
(function(){
//安全模式创建的工厂类
function Factory(type,content){
if(!(this instanceof Factory)){
//构造函数中可以调用相应原型方法
return new Factory(type,content);
}
//构造函数返回一个对象就会创建这个对象
return new this[type](content);
}
Factory.prototype={
A: function(){
this.name='red';
},
B: function(){
this.name='green';
}
}
var a=Factory('A');
console.log(a.name);
})();
工厂方法模式可以创建多个类的实例对象,这种创建对象的方式避免了使用者和对象类之间的耦合,用户不用关心
网友评论