第二部分 如何進行軟件重構(gòu)
 第三單元:何為重構(gòu)
 軟件重構(gòu)的概念
 1)重構(gòu)是一系列代碼的等量變換
 案例:一個Hello World重構(gòu)過程
 2)重構(gòu)的保險索:自動化測試
 案例:Hello World的自動化測試過程
 3)軟件修改的四種動機——重構(gòu)的價值
 4)一個真實的謊言——重構(gòu)的誤區(qū)
 5)重構(gòu)的主要方法與技巧
 案例分析:重構(gòu)一個大型遺留系統(tǒng)
 1)重構(gòu)第一步:分解大函數(shù)
 案例:演示大函數(shù)產(chǎn)生的過程
案例:演示抽取方法操作步驟
 2)重構(gòu)第二步:拆分大對象
 案例:演示超級大對象的產(chǎn)生過程
案例:演示抽取類的操作步驟
 案例:演示“分久必合,合久必分”的重構(gòu)過程
 3)重構(gòu)第三步:提高復(fù)用率
案例:提高代碼復(fù)用的6個方法
案例:演示新增代碼時的代碼復(fù)用過程
 4)重構(gòu)第四步:可擴展設(shè)計
 案例:講解可擴展設(shè)計的4個方法
案例:講解新增代碼的可擴展設(shè)計過程
 5)重構(gòu)第五步:降低耦合度
 案例:講解接口、實現(xiàn)與工廠模式
案例:講解外部接口解耦與適配器模式
 6)重構(gòu)第六步:系統(tǒng)分層
 反思軟件架構(gòu)需要怎樣的分層結(jié)構(gòu)
遺留系統(tǒng)如何擁抱需求變化
 遺留系統(tǒng)如何應(yīng)對技術(shù)變革
 7)重構(gòu)第七步:領(lǐng)域驅(qū)動設(shè)計
案例:智能溫控器分析設(shè)計過程(嵌入式+物聯(lián)網(wǎng))
練習(xí):重構(gòu)一個小程序并編寫測試腳本
 第四單元:關(guān)于重構(gòu)的討論
 什么時候重構(gòu)
測試的困境
 重構(gòu)的評價