JavaScript设计模式——工厂模式

57 阅读1分钟

工厂模式

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

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('没有这个角色!')
    }
  }
}