2006年11月27日 星期一

[重構]物件內資料成員的重構

1.Self Encapsulate Field : 自我封裝欄位 (為field提供get/set moethod)

2.Replace Data Value with Object : 以物件取代資料

3.Change Value to Reference : 將實值物件改為參考物件

4.Change Reference to Value : 將參考物件改為實值物件

5.Replace Array with Object : 以物件取代陣列

6.Duplicate Observed Data : 將資料copy到domain object中,並以Observer pattern作同步控制

7.Change Unidirectionl Association to Bidirectionl : 將物件的單向關聯改為雙向關聯

8.Change Bidirectionl Association to Unidirectionl : 將物件的雙向關聯改為單向關聯

9.Replace Magic Number with Symbolic Constant : 以符號取代魔數

10.Encapsulate Field : 封裝欄位 (儘量不提供public field)

11.Encapsulate Collection : 封裝群集

12.Replace Recode with Data Class : 以資料類別取代記錄

13.Replace Type Code with Class : 以類別取代型別

14.Replace Type Code with Subclass :  以子類別取代型別

15.Replace Type Code with State/Strategy :  以State/Strategy取代型別

16.Replace Subclass with Field : 以欄位取代子類別

沒有留言: