JS设计模式之建造者模式
2021/12/1 23:06:28
本文主要是介绍JS设计模式之建造者模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
建造者模式(builder pattern)属于创建型模式的一种,提供一种创建复杂对象的方式。它将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
建造者模式是一步一步的创建一个复杂的对象,它允许用户只通过指定复杂的对象的类型和内容就可以构建它们,用户不需要指定内部的具体构造细节。
本文首发于 建造者(builder)模式
使用场景
日常生活中,比如组装电脑,生产汽车,都是有多个步骤来一步一步构建的,这时候就可以使用建造者模式来解决这个问题。下面以组装电脑为例子,比如组装游戏电脑,组装办公电脑。步骤都是一样的,最终都会出一个成品出来。
function gameComputerBuilder() { this.buildMainboard = function() { console.log('游戏主板'); }; this.buildCPU = function() { console.log('游戏CPU'); }; this.buildHardDisk = function() { console.log('游戏硬盘'); }; this.getComputer = function() { return '游戏电脑'; }; } function officeComputerBuilder() { this.buildMainboard = function() { console.log('办公主板'); }; this.buildCPU = function() { console.log('办公CPU'); }; this.buildHardDisk = function() { console.log('办公硬盘'); }; this.getComputer = function() { return '办公电脑'; }; } function Operator() { this.startBuild = function(builder) { builder.buildMainboard(); builder.buildCPU(); builder.buildHardDisk(); return builder.getComputer(); }; } const op = new Operator(); const gameComputer = new gameComputerBuilder(); const officeComputer = new officeComputerBuilder(); const gc = op.startBuild(gameComputer); console.log(gc) const oc = op.startBuild(officeComputer);{} console.log(oc)
这篇关于JS设计模式之建造者模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-30React Native常用组件-点击组件
- 2024-05-30uniapp+vue3+uv-ui手机端后台OA管理模板
- 2024-05-29Python网络爬虫的时候json=就是让你少写个json.dumps()
- 2024-05-27React Native常用组件-展示组件
- 2024-05-27React Native常用组件-列表组件
- 2024-05-09vue3开发前端表单缓存自定义指令,移动端h5必备插件
- 2024-05-09React Hooks在class组件中的使用方式
- 2024-03-30[OIDC in Action] 2. 基于OIDC(OpenID Connect)的SSO(纯JS客户端)
- 2024-03-29terraform jsonencode
- 2024-03-13vuex-persist