美文网首页网页前端开发学习必备教程程序员
实战干货 | 理解JavaScript设计模式之建造者模式

实战干货 | 理解JavaScript设计模式之建造者模式

作者: WEB开发李家靖 | 来源:发表于2018-10-08 15:42 被阅读16次

很多时候,我们在学习前端开发的时候,都以为只要学习好前端开发的语法就行了,或者说做做几个动效,能写出来就行了,却都不知道,其实前端开发的设计模式也很重要!

什么是设计模式

设计模式(design pattern)是一套反复使用、思想成熟、经过分类和无数实战设计经验的总结。

是为了代码可重用、可扩展、可解耦、更容易被人理解和保证代码可靠性。

设计模式共有23种,之前已经给大家讲过使用比较多的工厂模式了,今天我们来讲的是建造者模式,其他模式我们后面会继续给大家讲

建造者模式

建造者模式(builder pattern)比较简单,它属于创建型模式的一种,将一个复杂的对象分解成多个简单的对象来进行构建,将复杂的构建层与表示层分离,使得相同的构建过程可以创建不同的表示的模式便是建造者模式。

优点

  • 建造者模式的封装性很好,对象本身与构建过程解耦。

  • 建造者模式很容易进行扩展。如果有新的需求,通过实现一个新的建造者类就可以完成。

  • 适用场景

    需要生成的对象具有复杂得内部结构;且内部属性本身相互依赖


    建造者模式在代码中的实现

    建造者模式主要有4个部分:product产品类、Builder建造者类、Director指挥者类、客户。

    主要的流程是:

  • 客户提出需求。

  • 指挥者根据用户需求,指挥建造者去完成需求的各个部分。

  • 建造者完成相应的部分。

  • 我们来看一下相应的代码:

    产品类为一辆加工的空壳汽车。

    接下来看一下建造者类:

    再这里我们可以看到各个部分的工人以及他们的工作,他们的各自的工作最终合并成一辆汽车。

    指挥者类:

    最后就是使用方法:

    最终客户通过getCar方法得到了这辆车,并且不需要知道其中得建造细节。

    最后总结一下

    建造者模式主要用于“分布构建一个复杂的对象”,它很容易进行扩展。

    如果有新的需求,通过实现一个新的建造者类就可以完成,并且建造者模式解耦了对象本身与构建过程,使得我们不用关心具体的建造过程。

    好了,今天建造者模式就讲那么多,我们下次再聊聊别的内容,我们下次再见!


    相关文章

    • 实战干货 | 理解JavaScript设计模式之建造者模式

      很多时候,我们在学习前端开发的时候,都以为只要学习好前端开发的语法就行了,或者说做做几个动效,能写出来就行了,却都...

    • PHP完整实战23种设计模式

      前言 设计模式是面向对象的最佳实践 实战 PHP实战创建型模式 单例模式 工厂模式 抽象工厂模式 原型模式 建造者...

    • Android中涉及的模式

      我的Java设计模式-建造者模式 我的Java设计模式-观察者模式 重学设计模式之单例模式

    • 设计模式之建造者模式

      设计模式之建造者模式 Intro 简介 建造者模式: 建造者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加...

    • 设计模式之建造者模式

      设计模式之建造者模式 1. 模式定义 建造者模式又可以成为生成器模式,它属于对象创建型模式。建造者模式将一个复杂对...

    • Javaの设计模式之建造者模式

      推荐阅读:《设计模式之禅》 今早早起,刚刚出炉,哈哈 BuilderPattern 设计模式之建造者模式 Demo...

    • javascript设计模式——建造者模式

      特点:工厂模式的特点是创建的结果都是一个完整的个体,我们对创建过程不得而知,我们只了解得到的创建结果对象。而建造者...

    • JavaScript设计模式——建造者模式

      写在前面 早该更新文章了,然而最近深陷项(囹)目(圄)。为了适配万恶的IE8,不得不使用陈旧的框架Ext,从未接触...

    • Javascript设计模式——建造者模式

      建造者模式是相对比较简单的一种设计模式,属于创建型模式的一种; 定义:将一个复杂的对象分解成多个简单的对象来进行构...

    • 设计模式之建造者模式

      设计模式之建造者模式 建造者模式 属于 创建型模式,提供一种创建对象的最佳方式。 创建型模式 指不是直接使用ne...

    网友评论

      本文标题:实战干货 | 理解JavaScript设计模式之建造者模式

      本文链接:https://www.haomeiwen.com/subject/rjljaftx.html