Java教程

javaScript设计模式:工厂模式

本文主要是介绍javaScript设计模式:工厂模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

工厂模式的目的是为了创建对象,对象创建重复操作比较频繁甚至需要批量创建;所创建的对象不确定具体类型,但所有对象一般具备公共特性又包含自身独有特性。

基于这样的模式需求,可以通过一个父类来创建包含所有公共特性的原型,然后通过子类创建具体的对象。

示例:

//父类
function CarMaker(){}
//一个父类的方法(这里可以用一个父类属性专门来验证工厂字类原型是否已经继承父类)
CarMaker.prototype.drive = function(){
    return "Vroom, I have " + this.doors + " doors";
}
//静态工厂方法
CarMaker.factory = function(type){
    var constr = type,
        newcar;
    if(typeof CarMaker[constr] !== "function"){
        throw{
            name: "Error",
            message: constr + " doesn't exist"
        };
    }
    if(typeof CarMaker[constr].prototype.drive !== "function"){
        CarMaker[constr].prototype = new CarMaker();
    }
    newcar = new CarMaker[constr]();
    return newcar;
}
//特定的工厂生成线
CarMaker.Compact = function(){
    this.doors = 4;
}
CarMaker.Convertible = function(){
    this.doors = 2;
}
CarMaker.SUV = function(){
    this.doors = 24;
}

 

这篇关于javaScript设计模式:工厂模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!