工厂模式
介绍
- 将 new 操作单独封装;
- 遇到 new 时,就要考虑是否该使用工厂模式;
示例
你去购买汉堡,直接点餐、取餐,不会自己亲手做; 商店要“封装”做汉堡的工作,做好直接给买者;
UML

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 异步组件;