工厂模式:定义了一个用于创建对象的接口,这个接口由子类决定实例化哪一个类。
何时使用:
当对象或组价设置很复杂;
需要根据不同环境创建不同实例;
处理大量有相同属性的小型对象或组件;
在编写只需满足一个API契约(亦称鸭子类型)的其他对象的实例对象时。--《JavaScript 设计模式 P81》(这点不懂~)
何时不使用:
如果应用出错,会带来大量不必要的复杂度;
测试难以进行;
除非必要,否则建议坚持使用显示构造函数。
实验:
例子1:
例子2:
~~等
一句话总结:
创建一工厂,里面有很多部门,用于创建不同实例,至于创建什么类型的实例由用户自己选择。