介绍
- 将new操作单独封装
- 遇到new时,就要考虑是否该使用工厂模式
示例
- 你去购买汉堡,直接点餐、取餐,不会自己亲手做
- 商店要“封装”做汉堡的工作,做好直接给买者
代码
class Product{
consttuctor(){
this.name = name
}
init(){
alert('init')
}
fun1(){
alert('fun1')
}
}
class Creator{
create(name){
return new Product(name)
}
}
let creator = new Creator();
let p = creator.create('p1');
p.init()
p.fun1()
使用场景
- JQuery $('#logo')
- React.createElement
- vue 异步组件
网友评论