工厂模式

Factory

概述
也称简单工厂模式
由一个工厂对象决定创建某一种产品对象类的实例
用来创建同一类对象
适合:逻辑不复杂;管理对象数量少
后台管理系统
不同的身份对应的权限不同
身份类别少
业务不复杂
参考代码
Factory
class User {
  constructor(role, pages) {
    this.role = role
    this.pages = pages
  }

  static Factory(role) {
    switch (role) {
      case "superAdmin":
        return new User("superAdmin", ['home', 'news', 'user', 'right'])
        break;
      case "admin":
        return new User("admin", ['home', 'news', 'user'])
        break;
      case "editor":
        return new User("editor", ['home', 'news'])
        break;
      default:
        throw new Error('wrong para')
        break;
    }
  }
}
Usage
let user=User.Factory('admin')