從OOP背景來看,我在函數式編程中遇到了不可變對象/記錄/消息概念的一些問題。轉換大型不可變消息
比方說,我通過一個函數管道傳遞一個PurchaseOrder記錄,其中每個函數應該添加或更新此記錄中的數據。
當處理可變狀態時,我會簡單地設置消息傳遞的某些特定屬性。
當處理不可變記錄時,是否有一些設計技巧使事情變得更容易? 複製每一個字段只改變一個字段只是一個痛苦。
{ A = x.A ; B = x.B ; C = x.C ; D = x.D ; E = somethingnew; }
我想盡量分組數據是一個很好的方法來處理它,從而避免複製所有字段。 有沒有其他方法或設計指南?
該死的,真棒:) – 2012-07-09 09:41:18