• 技术文章 >web前端 >js教程

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

    php中世界最好的语言php中世界最好的语言2018-03-14 14:09:45原创973
    这次给大家带来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);

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

    推荐阅读:

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

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

    以上就是JS设计模式之建造者模式详解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:JavaScript中的希尔排序详解 下一篇:JavaScript中归并排序详解
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• JavaScript DOM API知识串讲• JavaScript怎么创建多个对象?详解四种方法• JavaScript数据处理的5个常见问题详解• 聊聊怎么利用angular Material做统计表格• 整理分享JavaScript开发中常见的5种数据处理问题
    1/1

    PHP中文网