2017-03-07 21 views
0

我有一個不可變的對象,它也有它的構建器類。我需要一種方法來創建兩個階段的對象,其中第一階段有幾個參數,另一個階段是休息階段。有沒有什麼方法或框架來做到這一點?在java中部分創建不可變的對象

回答

1

您可以將構建器傳遞到第二階段,或者將舊對象中的數據複製到新對象中。

一個好的構建器實現將有一種複製對象的方法。 例如對於lombok,您可以使用toBuilder選項,該選項將從現有對象創建一個構建器,並允許您使用舊對象中的數據創建一個新對象。

0

這裏是我的建議:

關注生成器設計模式,有兩臺建設者每個階段。我認爲這就夠了。我懷疑會有這樣的框架。

0

如果你遵循一個不可變對象的所有規則,你不能這樣做。
構造函數每new只調用一次。

兩種可能的方法是wrapping或使用reflection