JavaScript设计模式之建造者模式的简介

  介绍

这篇文章主要介绍了JavaScript设计模式之建造者模式的简介,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

JavaScript有什么特点

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

具体如下:

<强>一、建造者模式模式概念

建造者模式可以将一个复杂的对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。也就是说如果我们用了建造者模式,那么用户就需要指定需要建造的类型就可以得到它们,而具体建造的过程和细节就不需要知道了。建造者模式实际就是一个指挥者,一个建造者,一个使用指挥者调用具体建造者工作得出结果的客户。

建造者模式主要用于“分步骤构建一个复杂的对象”,在这其中“分步骤”是一个稳定的算法,而复杂对象的各个部分则经常变化。

通俗的说:就是一个白富美需要建一个别墅,然后直接找包工头,包工头再找工人把别墅建好。这其中白富美不用直接一个一个工人的去找,而且包工头知道白富美的需求,知道哪里可以找到工人,工人可以干的活,中间节省了白富美的和工人之间沟通的成本,白富美也不需要知道房子具体怎么建,最后能拿到房就可以了。

<强>二、建造者模式的作用和注意事项

<强>模式作用:

1。分步创建一个复杂的对象

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

3。无需关心组件如何组装

<强>注意事项:

1。一定要一个稳定的算法进行支持

2。加工工艺是暴露的——白富美不用关心如何建房子,但可以随时去看房子建得怎么样

<强>三、建造者模式代码和实战总结

& lt; ! DOCTYPE  html>   & lt; html>   & lt; head  lang=癳n"祝辞   ,& lt; meta  charset=癠TF-8"比;   ,& lt; title>建造者模式& lt;/title>   & lt;/head>   & lt; body>   & lt; script>//1。产出东西是房子//2。包工头调用工人进行开工,而且他要很清楚工人们具体的某一个大项//3。工人是盖房子的,工人可以建卧室,建客厅,建厨房//4。包工头只是一个接口而已,他不干活,他只对外说我能建房子   矿藏丰富,function (){//矿藏丰富可以理解为单例模式   如果才能(!(却;能够instanceof 里)){   ,,return  new 里();   ,,}   this.woshi =,才能“,“;   this.keting =,才能“,“;   this.chufang =,才能“,“;   ,}   ,function  Baogongtou () {   如果才能(!(却;能够instanceof  Baogongtou)) {   ,,return  new  Baogongtou ();   ,,}   this.jianfangzi 才能=,函数(gongren) {   ,,gongren.jian_chufang ();   ,,gongren.jian_keting ();   ,,gongren.jian_woshi ();   ,,}   ,}   ,function  Gongren () {   如果才能(!(却;能够instanceof  Gongren)) {   ,,return  new  Gongren ();   ,,}   this.jian_woshi 才能=,函数(){   ,,console.log(“建卧室“);   ,,}   this.jian_keting 才能=,函数(){   ,,console.log(“建客厅“);   ,,}   this.jian_chufang 才能=,函数(){   ,,console.log(“建厨房“);   ,,}   this.jiaofang 才能=,函数(){   ,,var  _fangzi =, new 里();   ,,_fangzi.woshi =,“ok";   ,,_fangzi.keting =,“ok";   ,,_fangzi.chufang =,“ok";   ,,return  _fangzi;   ,,}   ,}   ,var  gongren =, new  Gongren ();   ,var  baogongtou =, new  Baogongtou ();   ,baogongtou.jianfangzi (gongren);   ,var  myfangzi =, gongren.jiaofang ();   ,console.log (myfangzi);   & lt;/script>   & lt;/body>   & lt;/html>

使用<强>在线HTML/CSS/JavaScript代码运行工具 http://tools.jb51.net/code/HtmlJsRun测试运行效果如下:

 JavaScript设计模式之建造者模式的简介

感谢你能够认真阅读完这篇文章,希望小编分享的“JavaScript设计模式之建造者模式的简介”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

JavaScript设计模式之建造者模式的简介