0

0

JS设计模式之建造者模式详解

php中世界最好的语言

php中世界最好的语言

发布时间:2018-03-14 14:09:45

|

2036人浏览过

|

来源于php中文网

原创

这次给大家带来js设计模式建造者模式详解,使用js建造者模式的注意事项有哪些,下面就是实战案例,一起来看一下。

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

作用以及注意事项

模式作用:

分步创建一个复杂的对象

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

无需关心组件如何组装

注意事项:

一定要一个稳定的算法进行支持(“分步骤”是一个稳定的算法)

加工工艺是暴露的 

TalkMe
TalkMe

与AI语伴聊天,练习外语口语

下载

了解了基本原理之后,我们来看下面这个实例,然后你就会对建造这模式有更深的认识了。

实例

一个土豪需要建一个别墅,然后直接找包工头,包工头再找工人把别墅建好。这里土豪不用直接一个一个工人的去找。只需包工头知道土豪需求,然后去找工人,工人干活,土豪也不需要知道房子具体怎么建,最后能拿到房就可以了。

   //1.产出东西是房子 
            //2.包工头调用工人进行开工而且他要很清楚工人们具体的某一个大项 
            //3.工人是盖房子的 工人可以建厨房、卧室、建客厅 
            //4.包工头只是一个接口而已 他不干活 他只对外说我能建房子
            function House() { 
                this.kitchen = ""; this.bedroom = ""; this.livingroom = ""; 
            }; 
            function Contractor() { 
                this.construct = function(worker) { 
                    worker.construct_kitchen(); worker.construct_bedroom(); worker.construct_livingroom(); 
                } 
            }; 
            function Worker() {
                this.construct_kitchen =function() { 
                    console.log("厨房建好了"); 
                } 
                this.construct_bedroom = function() { 
                    console.log("卧室建好了"); 
                } 
                this.construct_livingroom = function() { 
                    console.log("客厅建好了"); 
                }                this.submit = function() {
                    var _house = new House(); 
                    _house.kitchen = "finished"; 
                    _house.bedroom = "finished"; 
                    _house.livingroom = "finished"; 
                    return _house; 
                }
            }; 
            var worker = new Worker(); 
            var contractor = new Contractor(); 
            contractor.construct(worker); 
            // 主人要房子 var myhouse = worker.submit(); console.log(myhouse);

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

JS的设计模式之构造函数模式详解

js设计模式之-单例模式的使用

相关专题

更多
PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

3

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

41

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

101

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

148

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

57

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

42

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

19

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

108

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

45

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 3.8万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.3万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号