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);
相关推荐
jamison_15 天前
文心一言与 DeepSeek 的竞争分析:技术先发优势为何未能转化为市场主导地位?
人工智能·ai·chatgpt·gpt-3·1024程序员节
NaZiMeKiY5 天前
HTML5前端第六章节
前端·html·html5·1024程序员节
jamison_19 天前
颠覆未来:解锁ChatGPT衍生应用的无限可能(具体应用、功能、付费模式与使用情况)
ai·chatgpt·1024程序员节
NaZiMeKiY14 天前
HTML5前端第七章节
1024程序员节
earthzhang202118 天前
《Python深度学习》第四讲:计算机视觉中的深度学习
人工智能·python·深度学习·算法·计算机视觉·numpy·1024程序员节
明明真系叻1 个月前
2025.3.2机器学习笔记:PINN文献阅读
人工智能·笔记·深度学习·机器学习·1024程序员节·pinn
bitenum1 个月前
【C++/数据结构】队列
c语言·开发语言·数据结构·c++·青少年编程·visualstudio·1024程序员节
IT学长编程1 个月前
计算机毕业设计 基于SpringBoot的智慧社区管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·后端·毕业设计·课程设计·论文笔记·1024程序员节
qq_382391331 个月前
WPF框架学习
学习·wpf·1024程序员节
✿ ༺ ོIT技术༻2 个月前
Linux:TCP和守护进程
linux·运维·服务器·网络·tcp/ip·1024程序员节