工厂模式
工厂模式指根据不同的输入返回不同类的实例,一般用来创建同一类对象。 主要思想是将对象的创建与对象的实现分离。
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('没有这个角色!') } } }
|