Skip to main content

工厂模式

Q:是什么?

  • A:工厂模式就是我们提供一个模子,然后通过这个模子复制出需要的对象。我们需要多少个,就复制多少个。

    var createPerson = function(name, age) {
    // 声明一个中间对象,该对象就是工厂模式的模子
    var o = new Object();

    // 依次添加我们需要的属性与方法
    o.name = name;
    o.age = age;
    o.getName = function() {
    return this.name;
    }

    return o;
    }

    // 创建两个实例
    var perTom = createPerson('TOM', 20);
    var PerJake = createPerson('Jake', 22);

Q:缺点有哪些?

  • A:
    • 没有办法识别对象实例的类型。
    • 由于分别属于不同的实例,就不得不一直不停的为实例中的方法分配空间。