关于前端:JS设计模式之建造者模式

5次阅读

共计 1103 个字符,预计需要花费 3 分钟才能阅读完成。

建造者模式(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)
正文完
 0