簡體   English   中英

在Java中部分創建不可變對象

[英]Partially creating immutable object in java

我有一個不可變的對象,也有其生成器類。 我需要一種在兩個階段中創建對象的方法,其中在第一階段中使用一些參數,而在其他階段中使用其余參數。 有什么方法或框架可以做到這一點嗎?

您可以將構建器傳遞到第二階段,也可以將數據從舊對象復制到新對象。

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

這是我的建議:

遵循構建器設計模式,每個階段都有兩個構建器。 我認為就足夠了。 我懷疑是否會有這樣的框架。

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM