在物件之間搬移特性(一)

2021-07-16 07:47:37 字數 398 閱讀 3170

1,move method (搬移函式)

要點:在該函式最常引用的類中建立乙個有著類似行為的新函式。將舊函式變成乙個單純的委託函式,或是將舊函式完全移除。

2,move field (搬移字段)

要點:在目標類新建乙個字段,修改源字段的所有使用者,令它們改用新字段

3,extract class (提煉類)

現象:某個類做了應該有兩個類做的事

4,inline class (將類內聯化)

現象:某個類沒有做太多事情

要點:將這個類的所有特性搬移到另乙個類中,然後移除原類。

5,hide delegate (隱藏「委託關係」)

現象:客戶通過乙個委託來呼叫另乙個物件

要點:在服務類上建立客戶所需的所有函式,用以隱藏委託關係。

在物件之間搬移特性(二)

6,remove middle man 現象 某個類做了過多的簡單委託動作 要點 讓客戶之間呼叫受託類。7,introduce foreign method 引入外加函式 現象 你需要為提供服務的類增加乙個函式,但你無法修改這個類 要點 在客戶類中建立乙個函式,並以第一引數形式傳入乙個服務類例項。8...

重構 在物件之間搬移特性

1 move method 搬移函式 有個函式與所在類之外的另乙個類進行更多的交流 呼叫或被呼叫 在該函式最常引用的類中建立乙個有著類似行為的新函式。將舊函式變為乙個單純的委託函式,或者將舊函式刪除。2 move field 搬移字段 某個欄位被其所屬類之外的另乙個類頻繁呼叫。3 extract c...

4 在物件之間搬移特性

在物件的設計過程中,color red 決定把責任放在哪兒 color 即使不是最重要的事,也是最重要的事之一。常常只需要使用 color red move method和move field color 簡單地移動物件行為,就可以解決這些問題。如果這兩個手法都需要用到,建議先使用move fiel...