工厂模式
工厂模式指根据不同的输入返回不同类的实例,一般用来创建同一类对象。 主要思想是将对象的创建与对象的实现分离。
es5 代码
function createPerson(name, age) {
const obj = {}
obj.name = name
obj.age = age
return obj
}
es6 class 语法
// 产品类
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('没有这个角色!')
}
}
}