温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java设计模式中建造者模式怎么实现

发布时间:2021-11-17 14:42:51 来源:亿速云 阅读:114 作者:小新 栏目:大数据

小编给大家分享一下Java设计模式中建造者模式怎么实现,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

 

设计模式之建造者模式

 

Intro 简介

建造者模式: 建造者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加以抽象,通过子类继承或者重载的方式,动态的创建具有复合属性的对象。

需要的组件:

  • Product 最终要构建的产品
  • AbstractBuilder 创建一个 Product 的抽象 builder
  • ConcreteBuilder1/ConcreteBuilder2 创建 Product 具体的 builder
  • Director 指挥 builder 如何创建一个复杂的 Product(根据需要可以没有)

主要解决:

主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。

 

使用场景

当我们要创建的对象比较复杂,各种参数配置很多的时候可以考虑使用建造者模式,将复杂的构建过程封装在构建者中

 

Sample

var director = new Director();
Builder builder1 = new ConcreteBuilder1(), builder2 = new ConcreteBuilder2();

director.Construct(builder1);
director.Construct(builder2);

var product2 = builder1.GetResult();
var product2 = builder2.GetResult();
 

.net core 中的各种 builder (HostBuilder/ConfigurationBuilder/...) 我觉得也是属于建造者模式的,只是 Builder 本身就是 Director, 通过 builder 来实现对象的各种参数配置构建最终的目标对象 (Host/Configuration/...)


看完了这篇文章,相信你对“Java设计模式中建造者模式怎么实现”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI