大型重構(gòu)
12.1 Tease Apart Inheritance (梳理并分解繼承體系)
某個繼承體系同時承擔(dān)兩項(xiàng)責(zé)任
建立兩個繼承體系, 并通過委托關(guān)系讓其中一個可以調(diào)用另一個
12.2 Convert Procedural Design to Object (將過程化設(shè)計(jì)轉(zhuǎn)化為對象設(shè)計(jì))
你手上有一些傳統(tǒng)過程化風(fēng)格的代碼
將數(shù)據(jù)記錄變成對象, 將大塊的行為分成小塊, 并將行為移入相關(guān)對象中.
12.3 Separate Domain from Presentation (將領(lǐng)域和表述/顯示[界面]分離)
某些GUI類之中包含了領(lǐng)域邏輯
將領(lǐng)域邏輯分離出來, 為它們建立獨(dú)立的領(lǐng)域類.
12.4 Extract Hierarchy (提煉繼承體系)
你有某個類做了太多工作, 其中一部分工作是以大量條件表達(dá)式完成的.
建立繼承體系, 以一個子類表示一種特殊情況.