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

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

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

作用以及注意事项

模式作用:

分步创建一个复杂的对象

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

无需关心组件如何组装

注意事项:

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

加工工艺是暴露的 

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

实例

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

   //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);

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

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

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

以上就是JS设计模式之建造者模式详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2782970.html

(0)
上一篇 2025年3月8日 16:41:56
下一篇 2025年3月8日 16:42:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JavaScript中的希尔排序详解

    本篇文章讲述了javascript中的希尔排序,大家对javascript中的希尔排序不了解的话或者对javascript中的希尔排序感兴趣的话那么我们就一起来看看本篇文章吧, 好了废话少说进入正题吧! JavaScript中的希尔排序 希…

    编程技术 2025年3月8日
    000
  • JS设计模式之工厂模式详解

    这次给大家带来js设计模式之工厂模式详解,使用js工厂模式的注意事项有哪些,下面就是实战案例,一起来看一下。 概念:工厂模式定义了一个用于创建对象的接口,这个接口由子类决定实例化哪一个类,该模式是一个类的实例化延迟到了子类。而子类可以重写接…

    编程技术 2025年3月8日
    200
  • JS设计模式之代理模式详解

    这次给大家带来js设计模式之代理模式详解,js代理模式的注意事项有哪些,下面就是实战案例,一起来看一下。 概念:代理模式就是为一个对象提供一个代用品或者占位符,以便控制对它的访问。也就是为了保障当前对象的单一职责,而需要创建另一个对象来处理…

    编程技术 2025年3月8日
    200
  • JS设计模式之命令模式详解

    这次给大家带来js设计模式之命令模式详解,使用js命令模式详解的注意事项有哪些,下面就是实战案例,一起来看一下。 概念 命令模式用于将一个请求封装成一个对象,从而可以用不同的参数对客户进行参数化,该模式将函数的调用请求和操作封装成一个单一的…

    编程技术 2025年3月8日
    200
  • JavaScript中的堆排序详解

    本篇文章讲述了javascript中的堆排序,大家对javascript中的堆排序不了解的话或者对javascript中的堆排序感兴趣的话那么我们就一起来看看本篇文章吧, 好了废话少说进入正题吧 堆排序可以说是一种利用堆的概念来排序的选择排…

    2025年3月8日
    200
  • JavaScript中的计数排序详解

    本篇文章讲述了javascript中的计数排序,大家对javascript中的计数排序不了解的话或者对javascript中的计数排序感兴趣的话那么我们就一起来看看本篇文章吧, 好了废话少说进入正题吧 计数排序的核心在于将输入的数据值转化为…

    2025年3月8日
    200
  • JS设计模式之原型模式详解

    这次给大家带来js设计模式之原型模式详解,使用js原型模式的注意事项有哪些,下面就是实战案例,一起来看一下。 概念:原型模式是指用原型实例指向创建对象的种类,并通过拷贝这些原型创建新的对象。对于原型模式,我们利用javascript原型继承…

    编程技术 2025年3月8日
    200
  • javascript如何实现小球跳动效果

    这次给大家带来javascript如何实现小球跳动效果,javascript实现小球跳动效果的注意事项有哪些,下面就是实战案例,一起来看一下。 今天介绍的是一种通过javascript实现的一种炫酷的动画效果,具体实现特效我通过图片展示给大…

    2025年3月8日
    200
  • 细说JavaScript中的作用域与变量

    本篇文章讲述了JavaScript中的作用域与变量,大家对JavaScript中的作用域与变量不了解的话或者对JavaScript中的作用域与变量感兴趣的话那么我们就一起来看看本篇文章吧, 好了废话少说进入正题吧 变量作用域 作用域:就是变…

    2025年3月8日
    200
  • 好用的js插件分享

    从一些开源网站上下载下来的 后台管理系统模板一般会有很多的js ,其js 的功能是什么呢?这里随手查询了一下,记录下来,希望本文能帮助到大家。 正文: 1.zDialog.js 各种弹窗插件 详细案例:http://www.2ky.cn/P…

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论