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 : 以欄位取代子類別
沒有留言:
張貼留言