建造者模式
2020/5/25 20:26:21
本文主要是介绍建造者模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
建造者模式
通过多个简单对象的有序组合,装配出一个复杂对象,就叫做建造者模式。
使用场景
如果创建一个对象特别复杂,其中有多个成员需要单独处理,我们可以把需要单独处理的成员抽象为子类,由子类实现具体的组建过程。
比如要创建一个实习人员的岗位信息,其中学历和职位需要单独处理:
例子:
// 基本信息类 var Person = function (name, age, sex) { this.name = name; this.age = age; this.sex = sex; } // 学历类 var School = function (school) { this.leve = school + (function (school) { switch (school) { case '专科': return school + ':实习工资1000~2000元'; break; case '本科': return school + ':实习工资2000~4000元'; break; case '研究生': return school + ':实习工资4000~6000元'; break; } })(school); } // 职位类 var Work = function (work) { this.role = work + (function (work) { switch (work) { case '前端': return ':掌握JavaScript、CSS、HTML'; break; case '后端': return ':掌握Java、PHP、SQL'; break; case '运维': return ':掌握linux、OpenStack、Hadoop'; break; } })(work); } // 建造者模式 var worker = function (name, age, sex, school, work) { var _p = new Person(name, age, sex); _p.school = new School(school); _p.work = new Work(work); return _p; }; //调用建造者函数 var p = worker('Tom', '21', 'male', '本科', '前端'); // 测试 console.log(p.name); //输出 Tom console.log(p.age); //输出 21 console.log(p.sex); //输出 male console.log(p.school.leve); //输出 本科 console.log(p.work.role); //输出 前端
建造者模式与工厂模式非常相似,但它们的侧重点不同:工厂模式的主要职责是创建,而建造者模式的主要职责是对对象的组装,顺序不同往往创建的对象也不同。
如有错误,欢迎指正,本人不胜感激。
这篇关于建造者模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-05HTML 颜色
- 2024-10-05HTML 颜色名
- 2024-10-01AntDesign-Form-rules学习:轻松入门教程
- 2024-10-01classnames学习:轻松掌握前端中的类名管理
- 2024-09-30前端案例资料:新手入门必读教程
- 2024-09-30前端编程资料:新手入门必备教程
- 2024-09-30前端培训资料:新手入门必读教程
- 2024-09-30滚动吸顶项目实战:从入门到上手
- 2024-09-29HTML学习:span标签教程详解
- 2024-09-29HTML基础:button标签教程