工厂模式

介绍

  • 将 new 操作单独封装;
  • 遇到 new 时,就要考虑是否该使用工厂模式;

示例

你去购买汉堡,直接点餐、取餐,不会自己亲手做; 商店要“封装”做汉堡的工作,做好直接给买者;

UML

示例-5
class Product {
  constructor(name) {
    this.name = name;
  }
  init(){
    console.log('init');
  }
  fun1(){
    console.log('fun1');
  }
  fun2(){
    console.log('fun2');
  }
}

class Creator {
  create(name) {
    return new Product(name);
  }
}

// 测试 
const creator = new Creator();
const p = creator.create("测试")
p.init();
p.fun1();

场景

  • jQuery $('div');
  • React.createElement;
  • vue 异步组件;
最后更新时间:
贡献者: DESKTOP-ER5718D\zt