設計模式之禪_《重構與模式》(Refactoring To Patterns)中英文版
發(fā)布時間:2016-12-23 19:11
本文關鍵詞:重構與模式,由筆耕文化傳播整理發(fā)布。
《重構與模式》開創(chuàng)性地深入揭示了重構與模式這兩種軟件開發(fā)關鍵技術之間的聯(lián)系,,說明了通過重構實現(xiàn)模式改善既有的設計,往往優(yōu)于在新的設計早期使用模式。
《重構與模式》不僅展示了一種應用模式和重構的創(chuàng)新方法,而且有助于讀者結合實戰(zhàn)深入理解重構和模式。書中講述了27種重構方式。.
本書適于面向對象軟件開發(fā)人員閱讀,也可作為高校計算機專業(yè)、軟件工程專業(yè)師生的參考讀物。
1994年,《設計模式》為我們帶來了常見設計問題的經典解決方案,從而改變了整個面向對象開發(fā)的面貌。
1999年,《重構》為我們帶來了一種改進代碼的高效過程,從而徹底改變了面向對象設計的方式。..
現(xiàn)在,在眾所期盼之中,Joshua Kerievsky的《重構與模式》第一次深入和全面地論述了設計模式的運用與演進式的重構過程,并揭示了兩者之間至關重要的聯(lián)系,又一次革命性地改變了我們的設計方式。
《重構與模式》闡述了模式導向重構的理論與實踐,提出使用模式改善既有設計優(yōu)于在設計早期使用模式的重要觀點。書中包含了27種模式導向重構,每種重構通過一系列較小的重構,安全地在設計中實現(xiàn)、趨向和去除模式。實例均出自真實項目的代碼。通過本書,讀者不僅能夠更好地學習和理解模式和重構,了解兩個領域的新進展和業(yè)界最新領悟,還能夠學到實戰(zhàn)中實現(xiàn)模式的多種方式,學會如何在不同情況下進行選擇。...
《重構與模式》目錄信息
第1章 本書的寫作緣由 1
1.1 過度設計 1
1.2 模式萬靈丹 2
1.3 設計不足 2
1.4 測試驅動開發(fā)和持續(xù)重構 3
1.5 重構與模式 5
1.6 演進式設計 6
第2章 重構 7
2.1 何謂重構 7
2.2 重構的動機 8
2.3 眾目睽睽 9
2.4 可讀性好的代碼 10
2.5 保持清晰 11
2.6 循序漸進 11
2.7 設計欠賬 12
2.8 演變出新的架構 13
2.9 復合重構與測試驅動的重構 13
2.10 復合重構的優(yōu)點 15
2.11 重構工具 15
第3章 模式 17
【作譯者介紹】
《重構與模式》提供作譯者介紹
Joshua Kerievsky資深軟件設計師,軟件開發(fā)公司Industrial Logic的創(chuàng)始人,是年輕一代軟件開發(fā)方面最具人氣的專家之一。他曾為許多專業(yè)雜志撰稿,交多次在世界級技術會議上擔任講師。除本書外,他還參與撰寫了 Extreme Programming Explored和Extreme Programming perspectives.
目錄
第1章 本書的寫作緣由 1
1.1 過度設計 1
1.2 模式萬靈丹 2
1.3 設計不足 2
1.4 測試驅動開發(fā)和持續(xù)重構 3
1.5 重構與模式 5
1.6 演進式設計 6
第2章 重構 7
2.1 何謂重構 7
2.2 重構的動機 8
2.3 眾目睽睽 9
2.4 可讀性好的代碼 10
2.5 保持清晰 11
2.6 循序漸進 11
2.7 設計欠賬 12
2.8 演變出新的架構 13
2.9 復合重構與測試驅動的重構 13
2.10 復合重構的優(yōu)點 15
2.11 重構工具 15
第3章 模式 17
3.1 何謂模式 17
3.2 模式癡迷 18
3.3 實現(xiàn)模式的方式不止一種 20
3.4 通過重構實現(xiàn)、趨向和去除模式 22
3.5 模式是否會使代碼更加復雜 24
3.6 模式知識 25
3.7 使用模式的預先設計 26
第4章 代碼壞味 29
4.1 重復代碼(Duplicated Code) 31
4.2 方法過長(Long Method) 31
4.3 條件邏輯太復雜(Conditional Complexity) 32
4.4 基本類型迷戀(Primitive Obsession) 33
4.5 不恰當?shù)谋┞?Indecent Exposure) 33
4.6 解決方案蔓延(Solution Sprawl) 34
4.7 異曲同工的類(Alternative Classes with Different Interfaces) 34
4.8 冗贅類(Lazy Class) 34
4.9 類過大(Large Class) 34
4.10 分支語句(Switch Statement) 35
4.11 組合爆炸(Combinatorial Explosion) 35
4.12 怪異解決方案(Oddball Solution) 35
第5章 模式導向的重構目錄 37
5.1 重構的格式 37
5.2 本目錄中引用的項目 38
5.2.1 XML Builder 39
5.2.2 HTML Parser 39
5.2.3 貸款風險計算程序 40
5.3 起點 40
5.4 學習順序 41
第6章 創(chuàng)建 43
6.1 用Creation Method替換構造函數(shù) 44
6.1.1 動機 44
6.1.2 做法 46
6.1.3 示例 46
6.1.4 變體 51
6.2 將創(chuàng)建知識搬移到Factory 52
6.2.1 動機 53
6.2.2 做法 55
6.2.3 示例 56
6.3 用Factory封裝類 61
6.3.1 動機 62
6.3.2 做法 63
6.3.3 示例 63
6.3.4 變體 66
6.4 用Factory Method引入多態(tài)創(chuàng)建 68
6.4.1 動機 68
6.4.2 做法 69
6.4.3 示例 71
6.5 用Builder封裝Composite 74
6.5.1 做法 76
6.5.2 示例 77
6.5.3 變體 87
6.6 內聯(lián)Singleton 90
6.6.1 動機 90
6.6.2 做法 92
6.6.3 示例 93
第7章 簡化 97
7.1 組合方法 98
7.1.1 動機 98
7.1.2 做法 100
7.1.3 示例 100
7.2 用Strategy替換條件邏輯 103
7.2.1 動機 103
7.2.2 做法 105
7.2.3 示例 106
7.3 將裝飾功能搬移到Decorator 115
7.3.1 動機 115
7.3.2 做法 119
7.3.3 示例 120
7.4 用State替換狀態(tài)改變條件語句 134
7.4.1 動機 134
7.4.2 做法 135
7.4.3 示例 136
7.5 用Composite替換隱含樹 144
7.5.1 動機 144
7.5.2 做法 147
7.5.3 示例 148
7.6 用Command替換條件調度程序 155
7.6.1 動機 156
7.6.2 做法 157
7.6.3 示例 158
第8章 泛化 165
8.1 形成Template Method 166
8.1.1 動機 167
8.1.2 做法 168
8.1.3 示例 168
8.2 提取Composite 173
8.2.1 動機 173
8.2.2 做法 174
8.2.3 示例 175
8.3 用Composite替換一/多之分 181
8.3.1 動機 181
8.3.2 做法 183
8.3.3 示例 184
8.4 用Observer替換硬編碼的通知 191
8.4.1 動機 191
8.4.2 做法 192
8.4.3 示例 193
8.5 通過Adapter統(tǒng)一接口 200
8.5.1 動機 200
8.5.2 做法 201
8.5.3 示例 202
8.6 提取Adapter 209
8.6.1 動機 209
8.6.2 做法 211
8.6.3 示例 211
8.6.4 變體 217
8.7 用Interpreter替換隱式語言 218
8.7.1 動機 218
8.7.2 做法 220
8.7.3 示例 221
第9章 保護 231
9.1 用類替換類型代碼 232
9.1.1 動機 232
9.1.2 做法 234
9.1.3 示例 235
9.2 用Singleton限制實例化 240
9.2.1 動機 240
9.2.2 做法 241
9.2.3 示例 241
9.3 引入Null Object 243
9.3.1 動機 244
9.3.2 做法 245
9.3.3 示例 246
第10章 聚集操作 251
10.1 將聚集操作搬移到Collecting Parameter 252
10.1.1 動機 252
10.1.2 做法 253
10.1.3 示例 254
10.2 將聚集操作搬移到Visitor 258
10.2.1 動機 258
10.2.2 做法 262
10.2.3 示例 266
第11章 實用重構 273
11.1 鏈構造函數(shù) 274
11.1.1 動機 274
11.1.2 做法 275
11.1.3 示例 275
11.2 統(tǒng)一接口 277
11.2.1 動機 277
11.2.2 做法 278
11.2.3 示例 278
11.3 提取參數(shù) 279
11.3.1 動機 279
11.3.2 做法 279
11.3.3 示例 280
跋 281
參考文獻 283
索引 287
本文關鍵詞:重構與模式,由筆耕文化傳播整理發(fā)布。
本文編號:225075
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/225075.html
最近更新
教材專著