zoukankan      html  css  js  c++  java
  • 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;
    }
    ——生命自会找到蓬勃之路。
  • 相关阅读:
    符号表
    经典算法-堆排序
    AngularJs基础
    Echars详解
    经典算法-快速排序
    经典算法-递归
    异常分类,异常抛出位置
    js的数据类型具体分析
    函数
    数据
  • 原文地址:https://www.cnblogs.com/ZheOneAndOnly/p/14638542.html
Copyright © 2011-2022 走看看