如何使用Javascript实现建造者模式

  介绍

小编给大家分享一下如何使用Javascript实现建造者模式,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

Javascript有什么特点

1, js属于一种解释性脚本语言;2,在绝大多数浏览器的支持下,js可以在多种平台下运行,拥有着跨平台特性;3,js属于一种弱类型脚本语言,对使用的数据类型未做出严格的要求,能够进行类型转换,简单又容易上手;4,js语言安全性高,只能通过浏览器实现信息浏览或动态交互,从而有效地防止数据的丢失;5,基于对象的脚本语言,js不仅可以创建对象,也能使用现有的对象。

概述

建造者模式是相对比较简单的一种设计模式,属于创建型模式的一种,

定义:将一个复杂的对象分解成多个简单的对象来进行构建,将复杂的构建层与表现层分离,使相同的构建过程可以创建不同的表示模式;

优点:

<李>

建造者模式的封装性比较好,创建对象和构建过程解耦;

<李>

建造者模式很容易扩展,当我们需要扩展的时候,通过一个新的建造者就可以实现;

模式作用:

<李>

分步创建一个复杂的对象

<李>

解耦封装过程和具体创建组件

<李>

无需关心组件如何组装

注意事项:

<李>

一定要一个稳定的算法支持

<李>

加工工艺是暴露的,也就是说土豪可以随时去看房子建的怎么样了

白话解释:

某土豪想建一个房子,某土豪只需要找包工头,包工头再去找施工团队来建造房子,而不需要土豪自己去一个个的找工人搭建施工团队开始施工;包工头知道土豪的需求,也知道哪里能找到工人搭建施工团队,工人可以直接干的活,中间节省了土豪直接和工人沟通的成本;土豪不需要知道房子该怎么建,土豪只需要最后能验收到房就行;

代码实现

在写代码之前我们先分析一下:

1,产出的东西是房子

2,包工头调用工人进行开工而且他要很清楚工人们具体的某一个大项

3,工人是盖房子的工人可以建卧室建客厅建厨房

4包工头只是一个接口,他只对外说盖房子,他不用做事情;

function 里(){   ,,,this.woshi =,““   ,,,this.keting =,““   ,,,this.chufang =,““   }      function  Baogongtou () {   ,,,this.jianfangzi =,函数(gongren) {   ,,,,,,,gongren.jian_woshi ();   ,,,,,,,gongren.jian_keting ();   ,,,,,,,gongren.jian_chufang ();   ,,,}   }      function  Gongren () {   ,,,this.jian_woshi =,函数(){   ,,,,,,,console.log(“卧室建好了!“);   ,,,}      ,,,this.jian_keting =,函数(){   ,,,,,,,console.log(“客厅建好了!“);   ,,,}      ,,,this.jian_chufang =,函数(){   ,,,,,,,console.log(“厨房建好了!“);   ,,,}      ,,,this.wangong =,函数(){   ,,,,,,,var  fangzi =, new 里();   ,,,,,,,fangzi.woshi =,“ok";   ,,,,,,,fangzi.keting =,“ok";   ,,,,,,,fangzi.chufang =,“ok";   ,,,,,,,return 矿藏丰富;   ,,,}   }   let  gongren =, new  Gongren ();   let  baogongtou =, new  Baogongtou ();//卧室建好了!//客厅建好了!//厨房建好了!   baogongtou.jianfangzi (gongren);   var  my_fangzi =, gongren.wangong ();/*   矿藏丰富={   ,,,,,,chufang:,“ok"   ,,,,,,基延:,“ok"   ,,,,,,woshi:,“ok"   ,,,,,,}   */console.log (my_fangzi);

上述代码中我们可以看的到,Gongren()里面是具体的施工过程,也就是具体做的事情,矿藏丰富()里面一开始都是空的,没有客厅,厨房,卧室;Baogongtou()里面只是对外宣传可以建房子,然后传入工人方法调用工人进行施工,工人方法执行完了也就是施工完了,然后就是交的房,一个新的方法里面实例化里()的方法,在新方法里面重新赋值即可。

看完了这篇文章,相信你对“如何使用Javascript实现建造者模式”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

如何使用Javascript实现建造者模式