创建型-工厂模式
简单工厂模式
场景
做一个信息录入系统,分别字段有【名字,年龄,职业,工作内容】, 工作内容需要根据不同的职业不同而改变
代码
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 'coder': work = ['写代码','写系分', '修Bug'] break case 'product manager': work = ['订会议室', '写PRD', '催更'] break case 'boss': work = ['喝茶', '看报', '见客户'] case 'xxx': // 其它工种的职责分配 ...
return new User(name, age, career, work)}总结
工厂模式其实就是将创建对象的过程单独封装,如果你的代码中使用到大量的构造函数,大量的new我们就应该考虑是不是可以使用工厂模式来重构我们的代码了。