卑微小测试的一天------构造者设计模式

在这里插入图片描述

常用JavaBean赋值方式

这种方式是最常用的创建对象的方法。只需要使用无参构造函数,然后为每个成员变量设置setter方法。比如有一个User类

User user = new User();
user.setName("大乐");
user.setQQ("12345678");
user.setEmail("12345678@qq.com");
user.setWork("click");

这种只有几个字段的还好,如果这个类有十多个字段甚至更多的时候,就很难受了。
这种方式非常普遍,但是存在一个很明显的问题,对于某个Bean我们可以在任何场景,任何边界之外进行set的操作,这样就显得非常难以管理了,也不符合我们领域化设计的思想

Builder赋值

我们需要在目标对象内部创建了一个静态类,通常简单地称为Builder。Builder声明了一系列方法来设置对象属性的值,然后将其返回Builder本身,完成所有调用后,我们调用Builder的无参build方法进行目标对象的初始化。

上述的user赋值就可以这样赋值

User user = User.builder()
				.name("大乐")
				.qq("12345678")
				.email("12345678@qq.com")
				.work("click")
				.build();

链式结构写法比传统写法要优雅,而且减少了冗余代码,当然这需要lombok中的@Builder注解

@Builder
public class User{
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值