1、move method(搬移函式)
有個函式與所在類之外的另乙個類進行更多的交流(呼叫或被呼叫)。在該函式最常引用的類中建立乙個有著類似行為的新函式。將舊函式變為乙個單純的委託函式,或者將舊函式刪除。
2、move field(搬移字段)
某個欄位被其所屬類之外的另乙個類頻繁呼叫。
3、extract class(提煉類)
某個類做了應該由兩個類做的事
4、inline class(將類內聯化)
某個類沒有做太多事情,與extract class相反(通常是重構移走了該類的責任)
5、hide delegate(隱藏委託)
客戶通過乙個委託類呼叫另乙個物件,直接在服務類上建立所需函式,隱藏存在,隱藏委託關係。
6、remove middle man(移除中間人)
某個類做了過多的簡單委託動作。讓客戶直接呼叫受託類。
7、introduce foregin method(引入外加函式)
你需要為提供服務的類增加乙個函式,但你無法修改這個類。在客戶類中建立乙個函式,並以第一引數形式傳入乙個伺服器例項。
8、introduce local extension(引入本地擴充套件)
你需要為提供服務的類增加乙個函式,但你無法修改這個類。新建乙個類,將該類作為源類的子類或包裝類。
重構 在物件之間搬移特性
你的程式中,有個函式與其所駐類之外的另乙個類進行更多交流 呼叫後者,或被後者呼叫 則在該函式最常引用的類中建立乙個有著類似行為的新函式,將舊函式變成乙個單純的委託函式,或是將舊函式完全移除。動機 如果乙個類有太多行為,或如果乙個類與另乙個類有太多合作而形成高度耦合,就使用搬移函式,通過這種手段,可以...
重構之在物件之間搬移特性
1.move method 搬移函式 你的程式中,有個函式與其所駐 class 之外的另乙個 class 2.move field 搬移值域 在 target class 建立乙個 new field 修改source field 的所有使用者,令它們改用 new field。3.extract c...
重構摘要7 在物件之間搬移特性
你的程式中,有個函式與其所駐類之外的另乙個類進行更多交流 呼叫後者,或被後者呼叫 在該函式最常引用的類中建立乙個有著類似行為的新函式。將舊函式變成乙個單純的委託函式,或者將舊函式完全移除。某個欄位被其所駐類之外的另乙個類更多地用到。如果我需要對類做許多處理,保持小步前進是有幫助的。某個類做了應該由梁...