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

2021-07-16 08:48:08 字數 322 閱讀 4694

6,remove middle man

現象:某個類做了過多的簡單委託動作

要點:讓客戶之間呼叫受託類。

7,introduce foreign method (引入外加函式)

現象:你需要為提供服務的類增加乙個函式,但你無法修改這個類

要點:在客戶類中建立乙個函式,並以第一引數形式傳入乙個服務類例項。

8,introduce local extension (引入本地擴充套件)

現象:你需要為提供服務類提供一些額外函式,但你無法修改這個類

要點:建立乙個新類,使它包含這些額外函式。讓這個擴充套件品成為源類的子類包裝類。

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

1,move method 搬移函式 要點 在該函式最常引用的類中建立乙個有著類似行為的新函式。將舊函式變成乙個單純的委託函式,或是將舊函式完全移除。2,move field 搬移字段 要點 在目標類新建乙個字段,修改源字段的所有使用者,令它們改用新字段 3,extract class 提煉類 現象...

重構 在物件之間搬移特性

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

4 在物件之間搬移特性

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