0
通常我會喜歡我所有的POJO都是不可變的(當然,只包含final
字段,因爲Java理解不變性)。但是對於我目前的項目,一個不變的模式是我需要從POJO中改變單個字段。在這種情況下使用不可變的POJO似乎很麻煩。不可改變的pojos和單場變化的通用模式
你將如何去POJO的一堆領域和每個領域,你應該能說「請給我一個這個POJO的副本,但這一個領域改變」?
大加在這裏將是我可以與可組合函數一起使用的東西。 「從這個不可改變的pojo開始,然後基本上將它推向一堆UnaryOperators,並讓我回到新的不可改變的pojo」。
該死的你可以給我簽名嗎?什麼是正式名稱(如果有的話);從來不知道這個名字(這不是一個花哨的建設者)? – kolossus
@ kolossus:不,這不是一個建造者模式 - 我不知道一般模式的名稱;根據我的編輯我稱這些方法僞mutators,但這只是*我的名字爲他們。 –
在我看來,它更多的是原型的變體(因爲每個對象都可以創建自己的可變克隆)。 – Gal