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;
    }
    ——生命自会找到蓬勃之路。
  • 相关阅读:
    Linux中的中断处理
    Yocto使用小技巧
    udev学习笔记汇总
    USB gadget学习笔记
    Linux常用命令
    Linux下软件安装方法
    278. First Bad Version
    MySQL的索引
    7. Reverse Integer
    排序算法
  • 原文地址:https://www.cnblogs.com/ZheOneAndOnly/p/14638542.html
Copyright © 2011-2022 走看看