知食记
搜索文档…
简单工厂模式

直接上代码

1
function User(name , age, career, work) {
2
this.name = name
3
this.age = age
4
this.career = career
5
this.work = work
6
}
7
8
function Factory(name, age, career) {
9
let work
10
switch(career) {
11
case 'coder':
12
work = ['写代码','写系分', '修Bug']
13
break
14
case 'product manager':
15
work = ['订会议室', '写PRD', '催更']
16
break
17
case 'boss':
18
work = ['喝茶', '看报', '见客户']
19
case 'xxx':
20
// 其它工种的职责分配
21
...
22
23
return new User(name, age, career, work)
24
}
Copied!

理解

工厂模式其实就是将创建对象的过程单独封装。它很像我们去餐馆点菜:比如说点一份西红柿炒蛋,我们不用关心西红柿怎么切、怎么打鸡蛋这些菜品制作过程中的问题,我们只关心摆上桌那道菜。在工厂模式里,我传参这个过程就是点菜,工厂函数里面运转的逻辑就相当于炒菜的厨师和上桌的服务员做掉的那部分工作——这部分工作我们同样不用关心,我们只要能拿到工厂交付给我们的实例结果就行了。
最近更新 1yr ago
复制链接