背景
大師們讓我們多使用“值語義”的對象(并非一定是是值對象),我們工作中也沒有少使用(int、bool、date等等),隻是大多數人都沒有多的自定義“值語義”的類型(我也其中之一),本文不說其它的,就談談“值語義”的優點和缺點,以及:如何更好的使用值對象,說白了:讓優點大于缺點。
值對象
更細粒度的組織代碼(小規模的子產品化)。
安全、無副作用。
實作成本高。
修改成本高:a = a.modify(xxx)。
就目前來看,“缺點”視乎占據了“優勢”,讓我們增加一個“優點”來個逆轉:
“值對象” 對應的 “UI 元件” 支援。
如果自定義的“值類型”能像原生值類型(int、bool 等)一樣,在架構的個個層面(特别是 UI)都給予了很好的支援,我們使用它的動力就更大了。
架構位址:http://happy.codeplex.com