重構 在物件之間搬移特性

2021-08-21 05:54:15 字數 662 閱讀 5028

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 在物件之間搬移特性

你的程式中,有個函式與其所駐類之外的另乙個類進行更多交流 呼叫後者,或被後者呼叫 在該函式最常引用的類中建立乙個有著類似行為的新函式。將舊函式變成乙個單純的委託函式,或者將舊函式完全移除。某個欄位被其所駐類之外的另乙個類更多地用到。如果我需要對類做許多處理,保持小步前進是有幫助的。某個類做了應該由梁...