创建型-工厂模式
# 简单工厂模式
# 场景
做一个信息录入系统,分别字段有【名字,年龄,职业,工作内容】, 工作内容需要根据不同的职业不同而改变
# 代码
function User(name , age, career, work) {
this.name = name
this.age = age
this.career = career
this.work = work
}
function Factory(name, age, career) {
let work
switch(career) {
case 'coder':
work = ['写代码','写系分', '修Bug']
break
case 'product manager':
work = ['订会议室', '写PRD', '催更']
break
case 'boss':
work = ['喝茶', '看报', '见客户']
case 'xxx':
// 其它工种的职责分配
...
return new User(name, age, career, work)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 总结
工厂模式其实就是将创建对象的过程单独封装,如果你的代码中使用到大量的构造函数,大量的new我们就应该考虑是不是可以使用工厂模式来重构我们的代码了。
上次更新: 2024/07/21, 21:46:04