1.move method
(搬移函式)
你的程式中,有個函式與其所駐
class
之外的另乙個
class
2.move field
(搬移值域) 在
target class
建立乙個
new field
,修改source field
的所有使用者,令它們改用
new field。
3.extract class
(提煉類)
建立乙個新
class
,將相關的值域和函式從舊
class
搬移到新
class。
4.inline class
(將類內聯化) 將
class
的所有特性搬移到另乙個
class
中,然後移除原
class。
5.hide delegate
(隱藏[
委託關係])
在某個
class
建立的客戶所需的所有函式,用以隱藏委託關係(
delegation)。
6.remove middle man
(移除中間人)
讓客戶直接呼叫
delegate(
委託類)。
7.introduce foreign method
(引入外加函式) 在
client
類中建立乙個函式,並以乙個
server
類實體作為第一
argument。
8.introduce local extension
(引入本地擴充套件)
建乙個新
class
,使它包含這些額外函式。讓這個擴充套件成為
source class
的subclass
(子類)或
(外覆類)。
重構手法之在物件之間搬移特性 2
返回總目錄 本小節目錄 某個類做了應該由兩個類做的事。建立乙個新類,將相關的字段和函式從舊類搬移到新類。如果乙個類中有大量的函式和資料,這個類往往太大而且不易理解。這時候就需要考慮哪些部分可以分離出去,並將它們分離到乙個單獨的類中。如果發現子類化只影響類的部分特性,或如果某些特性需要以一種方式來子類...
重構 在物件之間搬移特性
1 move method 搬移函式 有個函式與所在類之外的另乙個類進行更多的交流 呼叫或被呼叫 在該函式最常引用的類中建立乙個有著類似行為的新函式。將舊函式變為乙個單純的委託函式,或者將舊函式刪除。2 move field 搬移字段 某個欄位被其所屬類之外的另乙個類頻繁呼叫。3 extract c...
重構 在物件之間搬移特性
你的程式中,有個函式與其所駐類之外的另乙個類進行更多交流 呼叫後者,或被後者呼叫 則在該函式最常引用的類中建立乙個有著類似行為的新函式,將舊函式變成乙個單純的委託函式,或是將舊函式完全移除。動機 如果乙個類有太多行為,或如果乙個類與另乙個類有太多合作而形成高度耦合,就使用搬移函式,通過這種手段,可以...