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);
相关推荐
金融小师妹1 天前
基于NLP政策信号解析的联邦基金利率预测:美银动态调整12月降息概率至88%,2026年双降路径的强化学习模拟
大数据·人工智能·深度学习·1024程序员节
金融小师妹1 天前
基于LSTM趋势预测的白银价格突破58美元阈值,年度累计涨幅超100%的强化学习驱动分析
大数据·人工智能·编辑器·1024程序员节
CoderYanger1 天前
C.滑动窗口-越长越合法/求最短/最小——2904. 最短且字典序最小的美丽子字符串
java·开发语言·数据结构·算法·leetcode·1024程序员节
CoderYanger1 天前
A.每日一题——2141.同时运行N台电脑的最长时间
java·算法·leetcode·职场和发展·1024程序员节
科普瑞传感仪器1 天前
从“盲操作”到“智能感知”:六维力传感器解决装配卡死的创新方案
人工智能·科技·物联网·机器人·无人机·1024程序员节
开开心心就好1 天前
图片批量压缩工具:支持有损无损两种模式
java·游戏·pdf·excel·散列表·启发式算法·1024程序员节
CoderYanger1 天前
A.每日一题——3512. 使数组和能被 K 整除的最少操作次数
java·数据结构·算法·leetcode·职场和发展·1024程序员节
CoderYanger2 天前
递归、搜索与回溯-记忆化搜索:38.最长递增子序列
java·算法·leetcode·1024程序员节
CoderYanger2 天前
C.滑动窗口-越短越合法/求最长/最大——2958. 最多 K 个重复元素的最长子数组
java·数据结构·算法·leetcode·哈希算法·1024程序员节
CoderYanger2 天前
A.每日一题——2435. 矩阵中和能被 K 整除的路径
开发语言·线性代数·算法·leetcode·矩阵·深度优先·1024程序员节