大話重構(gòu) pdf下載_大話重構(gòu)連載首頁(yè)
發(fā)布時(shí)間:2016-12-19 17:10
本文關(guān)鍵詞:大話重構(gòu),由筆耕文化傳播整理發(fā)布。
《大話重構(gòu)》這本書是我寫的第一本書,從今天起我將通過連載的形式逐漸跟大家分享。
這本書讓你:
告別游擊隊(duì)轉(zhuǎn)變?yōu)檎?guī)軍,
遠(yuǎn)離劣質(zhì)代碼走向精妙設(shè)計(jì)
真正明白專業(yè)級(jí)的軟件開發(fā)是怎樣的
真正明白重構(gòu)是怎樣一步一步進(jìn)行的
高效重構(gòu)七步曲,面對(duì)實(shí)踐不卡殼
讓遺留系統(tǒng)維護(hù)不再是你的夢(mèng)魘
讀完這本書以后:
需求變更不再糾結(jié),重構(gòu)讓你潤(rùn)物細(xì)無聲地容納它們
超越代碼級(jí)的重構(gòu),從各個(gè)層面深度領(lǐng)略重構(gòu)之美
自動(dòng)化測(cè)試不再是夢(mèng)想,重構(gòu)讓自動(dòng)化測(cè)試走你
重新審視熟悉而陌生的技術(shù),將碎了一地的它們重新鉚合在一起
本書的目錄:
遺留系統(tǒng)——軟件工業(yè)時(shí)代的痛
第一部分 基礎(chǔ)篇
重構(gòu),一個(gè)既熟悉又陌生的名詞。在這里,我首先給你詮釋一個(gè)完全不同的重構(gòu),讓你重新理解一個(gè)最熟悉的陌生技術(shù):
第1章 重構(gòu):改變既有代碼的一劑良藥
1.1 什么是系統(tǒng)重構(gòu)
1.2 在保險(xiǎn)索上走鋼絲
1.3 大布局與小步快跑
1.4 軟件修改的四種動(dòng)機(jī)
1.5 一個(gè)真實(shí)的謊言
第2章 重構(gòu)方法工具箱
2.1 重構(gòu)是一系列的等量變換——第一次HelloWorld重構(gòu)
2.2 盤點(diǎn)我們的重構(gòu)工具箱——對(duì)HelloWorld抽取類和接口
第3章 小步快跑的開發(fā)模式
3.1 大布局你傷不起
3.2 小設(shè)計(jì)而不是大布局
3.3 小步快跑是這樣玩的——HelloWorld重構(gòu)完成
第4章 保險(xiǎn)索下的系統(tǒng)重構(gòu)
4.1 你不能沒有保險(xiǎn)索
4.2 自動(dòng)化測(cè)試——想說愛你不容易
4.3 我們是這樣自動(dòng)化測(cè)試的——JUnit下的HelloWorldTest
4.4 采用Mock技術(shù)完成測(cè)試
第二部分 實(shí)踐篇
當(dāng)你充滿激情地準(zhǔn)備實(shí)踐重構(gòu)時(shí),卻發(fā)現(xiàn)自己在邁出第一步就卡殼了,有木有?高效可行的重構(gòu)七步,讓你面對(duì)實(shí)踐不卡殼:
第5章 第一步:從分解大函數(shù)開始
5.1 超級(jí)大函數(shù)——軟件退化的重災(zāi)區(qū)
5.2 抽取方法的實(shí)踐
5.3 最常見的問題
第6章 第二步:拆分大對(duì)象
6.1 大對(duì)象的演化過程
6.2 大對(duì)象的拆分過程——抽取類與職責(zé)驅(qū)動(dòng)設(shè)計(jì) 49
6.3 SRP原則與對(duì)象拆分 50
6.4 合久必分,分久必合——類的歸并 52
第7章 第三步:提高代碼復(fù)用率 54
7.1 順序編程的煩惱 54
7.2 代碼重復(fù)與DRY原則 55
7.3 提高代碼復(fù)用的方法 56
7.3.1 當(dāng)重復(fù)代碼存在于同一對(duì)象中時(shí)——抽取方法
7.3.2 當(dāng)重復(fù)代碼存在于不同對(duì)象中時(shí)——抽取類
7.3.3 不同對(duì)象中復(fù)用代碼的另一種方法——封裝成實(shí)體類
7.3.4 當(dāng)代碼所在的類具有某種并列關(guān)系時(shí)——抽取父類
7.3.5 當(dāng)出現(xiàn)繼承泛濫時(shí)——將繼承轉(zhuǎn)換為組合
7.3.6 當(dāng)重復(fù)代碼被割裂成碎片時(shí)——繼承結(jié)合模板模式
7.4 代碼重復(fù)的檢查工具 64
第8章 第四步:發(fā)現(xiàn)程序可擴(kuò)展點(diǎn) 64
8.1 開放-封閉原則(OCP)與可擴(kuò)展點(diǎn)設(shè)計(jì) 65
8.2 過程的擴(kuò)展與放置鉤子——運(yùn)用模板模式增加可擴(kuò)展點(diǎn) 68
8.3 面向切面的可擴(kuò)展設(shè)計(jì) 71
8.4 其它可擴(kuò)展設(shè)計(jì) 74
第9章 第五步:降低程序依賴度 78
9.1 接口、實(shí)現(xiàn)與工廠模式 79
9.1.1 徹底理解工廠模式和依賴反轉(zhuǎn)原則
9.1.2 工廠模式在重構(gòu)中的實(shí)際運(yùn)用
9.2 外部接口與適配器模式——與外部系統(tǒng)解耦 84
9.3 繼承的泛濫與橋接模式 87
9.4 方法的解耦與策略模式 90
9.5 過程的解耦與命令模式 93
9.6 透明的功能擴(kuò)展與設(shè)計(jì)——組合模式與裝飾者模式 95
第10章 第六步:我們開始分層了 102
10.1 什么才是我們需要的分層 102
10.2 怎樣才能擁抱需求的變化 104
10.3 貧血模型與充血模型 108
10.4 我們?cè)鯓用鎸?duì)技術(shù)的變革 111
第11章 一次完整的重構(gòu)過程 113
11.1 第一步:分解大函數(shù) 113
11.2 第二步:拆分大對(duì)象 115
11.3 第三步:提高復(fù)用率 116
11.4 第四步:發(fā)現(xiàn)擴(kuò)展點(diǎn) 117
11.5 第五步:降低依賴度 119
11.6 第六步:分層 120
11.7 第七步:領(lǐng)域驅(qū)動(dòng)設(shè)計(jì) 121
第三部分 進(jìn)階篇 123
我已經(jīng)是一個(gè)重構(gòu)的實(shí)踐者了,但重構(gòu)真的讓我想說愛你不容易,太多太多的難題讓我困惑讓我煩惱。這里,,讓一個(gè)重構(gòu)多年的實(shí)踐者給你解惑吧:
第12章 什么時(shí)候重構(gòu) 123
12.1 重構(gòu)是一種習(xí)慣 123
12.2 重構(gòu)讓程序可讀 125
12.3 重構(gòu),才好復(fù)用 126
12.4 先重構(gòu),再擴(kuò)展 127
12.5 變更任務(wù)緊急時(shí),又該如何重構(gòu) 129
第13章 測(cè)試驅(qū)動(dòng)開發(fā) 131
13.1 測(cè)試驅(qū)動(dòng)開發(fā)(TDD) vs. 后測(cè)試開發(fā)(TAD) 131
13.2 測(cè)試驅(qū)動(dòng)開發(fā)與重構(gòu) 134
13.3 遺留系統(tǒng)怎樣開展TDD 142
第14章 全面的升級(jí)任務(wù) 144
14.1 計(jì)劃式設(shè)計(jì)VS演進(jìn)式設(shè)計(jì) 144
14.2 風(fēng)險(xiǎn)驅(qū)動(dòng)設(shè)計(jì) 146
14.3 制定系統(tǒng)重構(gòu)計(jì)劃 148
第15章 我們?cè)鯓訐肀ё兓?149
15.1 領(lǐng)域才是軟件系統(tǒng)的“心”——工資軟件的三次設(shè)計(jì)演變 149
15.2 領(lǐng)域模型分析方法 155
15.3 原文分析法 157
15.4 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)——使用領(lǐng)域模型與客戶一起設(shè)計(jì) 160
15.5 在遺留系統(tǒng)中的應(yīng)用 164
第16章 測(cè)試的困境 166
16.1 重構(gòu)初期的困局 167
16.2 解耦與自動(dòng)化測(cè)試 168
16.3 誰(shuí)來寫自動(dòng)化測(cè)試程序? 171
16.4 建立自動(dòng)化測(cè)試體系 174
第17章 系統(tǒng)重構(gòu)的評(píng)價(jià) 175
17.1 評(píng)價(jià)軟件質(zhì)量的指標(biāo) 175
17.2 怎樣評(píng)價(jià)軟件質(zhì)量呢 178
結(jié)束語(yǔ):重構(gòu)改變了世界 181
附錄:重構(gòu)方法速查手冊(cè) 182
本文關(guān)鍵詞:大話重構(gòu),由筆耕文化傳播整理發(fā)布。
本文編號(hào):220244
本文鏈接:http://www.sikaile.net/wenshubaike/mishujinen/220244.html
最近更新
教材專著