gpt4 book ai didi

java - Setter 返回这个 vs builder

转载 作者:行者123 更新时间:2023-12-04 02:32:59 25 4
gpt4 key购买 nike

我想知道,在构造对象时,返回 this 的 setter 有什么区别:

public User withId(String name) {
this.name = name;
return this;
}

和一个构建器(例如由 Builder Generator 插件为 IDEA 生成的构建器)?

我的第一印象是返回 this 的 setter 要好得多:

  • 它使用更少的代码 - 没有额外的构建器类,在对象构造结束时没有 build() 调用。
  • 它读起来更好:
    new User().withName("Some Name").withAge(30);
    对比
    User.UserBuilder.anUserBuilder().withName("Some Name").withAge(30).build();

那为什么要使用构建器呢?有什么我想念的吗?

最佳答案

构建器是设计模式,用于为代码带来清晰的结构。它们还经常用于创建不可变的类变量。您还可以在调用 build() 方法时定义前提条件。

关于java - Setter 返回这个 vs builder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63121656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com