设计模式之建造者模式

设计模式之建造者模式

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

         从800万年前东非大裂谷出现造就非洲猿開始随环境不断进化到类人猿、猿人,最后随着历史的脚步进化到现代智人。人类的脚步,从来就不曾停止;人类文明的进步不断加快。这当中最重要的就是人类把已有的经验总结成一个个做事流程保留传承下来。流程不变,但每一个流程实现的详细细节则是常常变化的。这就是要说的建造者模式。

      建造者模式的优点就是保证了流程不会变化,流程即不会添加、也不会遗漏或者产生流程次序错误。

      建造者模式中的角色:

     1. builder:是为创建一个Product对象的各个部件指定的抽象接口。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及详细的对象部件的创建。
     2. ConcreteBuilder:详细建造者,实现Builder接口,构造和装配各个部件,针对不同的商业逻辑,详细化复杂对象的各部分的创建。 在建造过程完毕后,提供产品的实例。
     3. Director:指挥者,构建一个使用Builder接口的对象,调用详细建造者来创建复杂对象的各个部分,在指挥者中不涉及详细产品的信息,仅仅负责保证对象各部分完整创建或按某种顺序创建。
     4. Product:详细产品要创建的复杂对象。

   建造者模式结构图:

设计模式之建造者模式

   什么时候用这个模式呢?

   a.创建一些复杂的对象时,这些对象的内部组成构件间的建造顺序是稳定的,可是对象的内部组成构件面临着复杂的变化。
   b.要创建的复杂对象的算法,独立于该对象的组成部分,也独立于组成部分的装配方法时

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117901.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 八、装饰者模式—巴厘岛,奶茶店的困扰! #和设计模式一起旅行#[通俗易懂]

    善于思考,方法总比问题多!故事背景我和漂亮的模式MM来到巴厘岛,这里火山爆发刚刚结束不久,一切要重新开始,来到这个地方几天后,觉得这个地方还是不错,于是就决定在这里开一个奶茶店,因为这里游客比较多,流量大,反正之前我们也没有开店的体验,那么一拍即合,开个奶茶店,体验一下了。 奶茶店的名字:Beautiful Life milk tea!名字起好了,那么我们就开始想如…

    2022年2月27日
    36
  • 设计模式——门面模式「建议收藏」

    设计模式——门面模式「建议收藏」今天我们继续来学习前面没有学完的结构型设计模式中的一种:门面模式。门面模式也是一种不太常用的设计模式。所以,我们今天依旧是了解为主,暂时不去深入的学习。概述门面模式:(FacadeDesignPattern)门面模式也叫外观模式,门面模式为子系统提供一组统一的接口,定义一组高层接口让子系统更易用。门面模式原理和实现也比较简单,应用场景也比较明确,主要在接口设计方面使用。何时使用:解决易用性问题。解决性能问题。解决分布式事务问题。UML类图:角色组成:门面角色:客户端调用这个

    2025年6月6日
    4
  • 设计模式之抽象工厂模式代码示例

    设计模式之抽象工厂模式代码示例

    2021年7月9日
    101
  • Java设计模式之结构型:外观模式

    Java设计模式之结构型:外观模式

    2021年10月4日
    36
  • Java设计模式之结构型:代理模式

    Java设计模式之结构型:代理模式

    2021年10月4日
    35
  • 设计模式之代理模式XXOO

    设计模式之代理模式XXOO定义代理模式可以分为两种,一种是静态代理,一种是动态代理。静态代理:代理类一般会持有一个被代理的对象引用,且对于不关心的方法全部委托给被代理的对象处理。自己处理关心的方法。这种代理方式是死板的,它不是在运行时动态创建,它就是硬编码,你代码编译前写的是什么,编译后就是什么。换句话就是你按下CTRL+S的那一刻,就会被代理对象生成一个不可动态改变的代理类。静态代理一般对于代理的对象是单个或者多个固定的类(数量不会太多)使用。效果会比动态代理要好。动态代理:动态代理又分为JDK动

    2022年7月17日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号