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