为了账号安全,请及时绑定邮箱和手机立即绑定

JS设计模式之建造者模式

建造者模式(builder pattern)属于创建型模式的一种,提供一种创建复杂对象的方式。它将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

建造者模式是一步一步的创建一个复杂的对象,它允许用户只通过指定复杂的对象的类型和内容就可以构建它们,用户不需要指定内部的具体构造细节。

使用场景

日常生活中,比如组装电脑,生产汽车,都是有多个步骤来一步一步构建的,这时候就可以使用建造者模式来解决这个问题。下面以组装电脑为例子,比如组装游戏电脑,组装办公电脑。步骤都是一样的,最终都会出一个成品出来。

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)
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消