白筱汐

想都是问题,做都是答案

0%

JavaScript设计模式——工厂模式

工厂模式

工厂模式指根据不同的输入返回不同类的实例,一般用来创建同一类对象。 主要思想是将对象的创建与对象的实现分离。

es5 代码

1
2
3
4
5
6
function createPerson(name, age) {
const obj = {}
obj.name = name
obj.age = age
return obj
}

es6 class 语法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 产品类
class User {
constructor(name) {
this.name = name
}
}

// 工厂类
class UserFactory {
static createUser(name) {
switch (name) {
case 'Tom':
return new User('Tom')
case 'Jerry':
return new User('Jerry')
default:
throw new Error('没有这个角色!')
}
}
}