2017-03-07 59 views
0

我有一个不可变的对象,它也有它的构建器类。我需要一种方法来创建两个阶段的对象,其中第一阶段有几个参数,另一个阶段是休息阶段。有没有什么方法或框架来做到这一点?在java中部分创建不可变的对象

回答

1

您可以将构建器传递到第二阶段,或者将旧对象中的数据复制到新对象中。

一个好的构建器实现将有一种复制对象的方法。 例如对于lombok,您可以使用toBuilder选项,该选项将从现有对象创建一个构建器,并允许您使用旧对象中的数据创建一个新对象。

0

这里是我的建议:

关注生成器设计模式,有两台建设者每个阶段。我认为这就够了。我怀疑会有这样的框架。

0

如果你遵循一个不可变对象的所有规则,你不能这样做。
构造函数每new只调用一次。

两种可能的方法是wrapping或使用reflection