宝哥软件园

JavaScript设计模式经典构建器模式

编辑:宝哥软件园 来源:互联网 时间:2021-09-17

一、建设者模式的概念。

构建器模式可以将复杂对象的构建与其表示分离开来,因此相同的构建过程可以创建不同的表示。也就是说,如果我们使用构建器模式,用户需要指定要构建的类型来获取它们,具体的构建过程和细节不需要知道。构建者模式实际上是一个指挥者、一个构建者和一个客户,他们使用指挥者调用特定构建者的工作来获得结果。

builder模式主要用于“一步一步构建复杂对象”,其中“一步一步”是一种稳定的算法,复杂对象的各个部分经常会发生变化。

通俗的说:一个白需要盖别墅,然后直接找包工头,包工头会找工人来盖别墅。其中,白不需要一一直接找。而且,包工头知道白的需求,知道去哪里找工人,工人也能干活,节省了白与工人沟通的费用。白不需要知道怎么盖房子,就能最终得到房子。

构建器模式结构图。

二、建设者模型的作用及注意事项。

模式功能:

1.逐步创建复杂的对象。

2.分离封装过程并创建特定组件。

3.不要在意组件是如何组装的。

注意事项:

1.一定要用稳定的算法来支持。

2.这个加工技术就暴露了——白不用关心房子怎么盖,但他总能看到房子是怎么盖的。

三、建设者模式代码和实战总结。

!键入html headlang=' en ' metacarset=' utf-8 ' title/title/head dyscript//1。产出是一栋房子//2。承包商打电话给工人开始施工,他需要知道工人的具体专业。工人们是房屋建筑工人,他们可以建造卧室、客厅和厨房。承包商只是一个接口。他不工作。他只说我能盖房子。函数Fangzi(){//Fangzi可以理解为singleton模式if(!(方子的这个实例)){返回新方子();} this.woshi=this.keting=this.chufang=}函数包工头(){if(!(包工头的这个实例)){返回新的包工头();}this .健坊子=function(gong ren){ gong ren . Jian _ chufang();gong ren . Jian _ keting();gong ren . Jian _ woshi();} }函数Gongren(){if(!(此实例为工人)){返回新工人();}这个。Jian _ woshi=function(){ console . log(' build卧室');}这个。Jian _ keting=function(){ console . log('建筑客厅');}这个。Jian _ chufang=function(){ console . log(' build kitchen ');} this . jiao Fang=function(){ var _ Fang zi=new Fang zi();_ fangzi.woshi=' ok_ fangzi.keting=' ok_ fangzi.chufang=' okreturn _ fangzi}}var宫人=新宫人();var包工头=新包工头();包工头.尖坊子(宫人);var my fangzi=gong ren . jiaofang();console . log(my fangzi);/脚本/正文/html

更多资讯
游戏推荐
更多+