创建型-工厂模式
  # 简单工厂模式
# 场景
做一个信息录入系统,分别字段有【名字,年龄,职业,工作内容】, 工作内容需要根据不同的职业不同而改变
# 代码
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