JS设计模式-简单工厂模式

javascript 复制代码
function User(name, age, career, work) {
  this.name = name;
  this.age = age;
  this.career = career;
  this.work = work;
}

function Factory(name, age, career) {
  let work;
  switch (career) {
    case "程序员":
      work = ["写逻辑", "写样式"];
      break;
    case "老师":
      work = ["教学生", "带学生"];
      break;
    default:
      break;
  }
  return new User(name, age, career, work);
}

let aaa = Factory("张三", 18, "程序员");//{name: "张三",age: 18,career: "程序员",work:["写逻辑", "写样式"]}
let bbb = Factory("李四", 28, "老师");//{name: "李四",age: 28,career: "老师",work:["教学生", "带学生"]}
console.log(aaa, bbb);
相关推荐
猫猫不是喵喵.16 小时前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
fish_zzzz4 天前
笔记-论数据结构2
1024程序员节
普通人65 天前
PHP文件读写完全指南
开发语言·php·1024程序员节
Martina_03215 天前
AI生成3D场景从白模换成精模后镜头全偏了?用6步检查单位、枢轴与层级替换
图像处理·人工智能·3d·ai·自然语言处理·材质·1024程序员节
星云_byto6 天前
CSS布局
人工智能·机器学习·目标跟踪·1024程序员节
张小姐的猫8 天前
【MySQL】访问 & 数据流动原理
android·数据库·mysql·adb·1024程序员节
工业HMI实战笔记10 天前
印刷电路板HMI:SMT贴装的元件定位界面
制造·设计规范·设计语言·1024程序员节
Martina_032110 天前
AI生成3D模型一合并网格,材质就串色?用6步检查材质槽、UV与图集重映射
图像处理·人工智能·3d·材质·uv·游戏策划·1024程序员节
橙光成长10 天前
android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送
android·1024程序员节