工厂方法模式
通过对产品类的抽象使其创建业务主要负责用于创建多类产品的实例。
将实际创建对象的工作推迟到子类中,但是JavaScript中没有抽象类的概念。所以在JavaScript中我们实现工厂类只需要参考它的核心思想就好。
将工厂方法看作一个可以实例化对象的共厂类
安全起见我们采用安全模式类,而我们将创建对象的基类放在工厂方法类的原型中
安全模式类
安全模式指的是可以屏蔽对类的错误的使用造成的错误。例如:没有使用new关键字创建类
var Demo = function(){
if(!this instanceof Demo){
return new Demo();
}
}
var d = Demo();
//创建成功
安全的工厂方法
//安全模式创建的工厂类
var Factory = function(type,content){
if(!this instanceof(Factory)){
return new Factory(type,content);
}else{
var s = new this[type](content);
return s;
}
}
//工厂原型中设置创建所有类型数据对象的基类
Factory.prototype = {
java:function(content){
//具体实现
},
javascript:function(content){
//具体实现
}
}
需要添加具体的实现那类,只需要在工厂类的原型中添加即可