[英]Partially creating immutable object in java
我有一個不可變的對象,也有其生成器類。 我需要一種在兩個階段中創建對象的方法,其中在第一階段中使用一些參數,而在其他階段中使用其余參數。 有什么方法或框架可以做到這一點嗎?
您可以將構建器傳遞到第二階段,也可以將數據從舊對象復制到新對象。
一個好的生成器實現將有一種復制對象的方法。 例如,對於toBuilder
,可以使用toBuilder
選項,該選項將根據現有對象創建構建器,並允許您使用舊對象中的數據創建新對象。
這是我的建議:
遵循構建器設計模式,每個階段都有兩個構建器。 我認為就足夠了。 我懷疑是否會有這樣的框架。
如果您遵循不可變對象的所有規則,則不能這樣做。
每個new
構造函數僅調用一次。
wrapping
或使用reflection
是兩種可能的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.