Spring 模式系列(三)- Builder Pattern (建造者模式)

本文探讨了Spring中建造者模式的使用,通过对比传统构造方式与使用建造者模式的差异,阐述了建造者模式在提高代码可读性和灵活性方面的优势。文中提到,开源框架Lombok进一步简化了建造者模式的实现。并介绍了如何实现建造者模式,强调每个方法返回Builder对象以实现方法链。此外,还提到了建造者模式在Bamboo Spec等复杂层级架构中的应用。
摘要由CSDN通过智能技术生成

在Spring当中,我们经常看到我们会用到这个模式。一个常用的例子就是在Mockmvc当中的ResultActions,用来测试Web Application 和 Web Services。值得一提的是,有一个开源框架叫Lambok,它把Builder pattern提升到另外一个层次,它提供了一个Annotation去封装了Builder Pattern的Builder,从而大大地简约了整个模式。

【why】那么我们首先谈谈为什么我们要建造者模式?

先看看以下两段代码,第一段是一位我带的实习生写的,他的任务是要写一段代码去构造一个Web Service 的 Header Object

Header header = new Header();
header.setClientId(SOAHeader.SOAP_CLIENT_ID);
header.setCorrelationId(SOAHeader.SOAP_CORRELATION_ID);

然后我们看看我问这位实习生,

1. How many attributes do we have in the Header Object? How many of them are optional?

在Header本身有多少个参数,其中有多少个是可选的?

2. Are you going to have more setter on your code? Setter itself is good, but less readable.

你是否需要写更多的setter去给那些可选的object复制。在我看来,setter是

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值