設計模式解析(第2版修訂版)

設計模式解析(第2版修訂版)

《設計模式解析(第2版修訂版)》是2016年1月人民郵電出版社出版的圖書,作者是[美]艾倫·沙洛維(Alan Shalloway)、詹姆斯·R·特羅特(James R·Trott)。

基本介紹

  • 中文名:設計模式解析(第2版修訂版)
  • 作者:[美]艾倫·沙洛維(Alan Shalloway)、詹姆斯·R·特羅特(James R·Trott)
  • ISBN:9787115410146
  • 頁數:289頁
  • 定價:55元
  • 出版社:人民郵電出版社
  • 出版時間:2016年1月
  • 裝幀:平裝
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書以作者自身學習、使用模式和多年來為軟體開發人員(包括面向對象技術老兵和新手)講授模式的經驗為基礎撰寫而成。首先概述了模式的基礎知識,以及面向對象分析和設計在當代軟體開發中的重要性,隨後使用易懂的示例代碼闡明了12 個常用的模式,包括它們的基礎概念、優點、權衡取捨、實現技術以及需要避免的缺陷,使讀者能夠理解模式背後的基本原則和動機,理解為什麼它們會這樣運作。 本書適合軟體開發專業人士,以及計算機專業軟體工程專業的高校師生閱讀,也可作為面向對象分析與設計課程的參考教材。

圖書目錄

第 一部分 面向對象軟體開發簡介
第 1章 面向對象范型 2
1.1 概覽 2
1.2 面向對象范型之前:功能分解 2
1.3 需求問題 4
1.4 應對變化:使用功能分解 5
1.5 應對需求變更 7
1.6 面向對象范型 10
1.7 面向對象程式設計實踐 15
1.8 特殊對象方法 17
1.9 小結 18
複習題 19
簡答題 19
闡述題 20
觀點與套用題 20
第 2章 UML 21
2.1 概覽 21
2.2 什麼是UML 21
2.3 為什麼使用UML 22
2.4 類圖 22
2.5 互動圖 28
2.6 小結 30
複習題 30
簡答題 30
闡述題 30
觀點與套用題 30
第 二部分 傳統面向對象設計的局限
第3章 對代碼靈活性要求很高的問題 33
3.1 概覽 33
3.2 提取CAD/CAM系統的信息 33
3.3 了解專業術語 34
3.4 問題描述 35
3.5 挑戰及其解決方案 37
3.6 小結 39
複習題 40
簡答題 40
闡述題 40
觀點與套用題 40
第4章 標準的面向對象解決方案 41
4.1 概覽 41
4.2 作為特例來解決 41
4.3 小結 48
複習題 48
簡答題 48
闡述題 49
觀點與套用題 49
第三部分 設 計 模 式
第5章 設計模式簡介 53
5.1 概覽 53
5.2 設計模式源自建築學和人類學 53
5.3 從建築模式到軟體設計模式 57
5.4 為什麼學習設計模式 58
5.5 學習設計模式的其他好處 62
5.6 小結 63
複習題 63
簡答題 63
闡述題 64
觀點與套用題 64
第6章 Facade模式 65
6.1 概覽 65
6.2 Facade模式簡介 65
6.3 學習Facade模式 65
6.4 實踐註記:Facade模式 68
6.5 Facade模式與CAD/CAM問題的聯繫 69
6.6 小結 70
複習題 70
簡答題 70
闡述題 70
觀點與套用題 71
第7章 Adapter模式 72
7.1 概覽 72
7.2 Adapter模式簡介 72
7.3 學習Adapter模式 73
7.4 實踐註記:Adapter模式 77
7.5 Adapter模式與CAD/CAM問題的聯繫 80
7.6 小結 80
複習題 80
簡答題 80
闡述題 81
觀點與套用題 81
第8章 開拓視野 82
8.1 概覽 82
8.2 對象:傳統看法與新看法 83
8.3 封裝:傳統看法與新看法 84
8.4 發現變化並將其封裝 87
8.5 共性和可變性分析與抽象類 90
8.6 敏捷編程的品質 92
8.7 小結 95
複習題 96
簡答題 96
闡述題 96
觀點與套用題 97
第9章 Strategy模式 98
9.1 概覽 98
9.2 處理新需求的一種途徑 98
9.3 國際電子商務系統案例研究:**初的需求 100
9.4 處理新的需求 101
9.5 Strategy模式 108
9.6 實踐註記:使用Strategy模式 110
9.7 小結 111
複習題 111
簡答題 111
闡述題 112
觀點與套用題 112
第 10章 Bridge模式 113
10.1 概覽 113
10.2 Bridge模式簡介 113
10.3 學習Bridge模式:示例 114
10.4 對使用設計模式的觀察 123
10.5 學習Bridge模式:通過將它推演出來 124
10.6 Bridge模式回顧 131
10.7 實踐註記:使用Bridge模式 132
10.8 小結 135
複習題 137
簡答題 137
闡述題 137
觀點與套用題 137
第 11章 Abstract Factory模式 138
11.1 概覽 138
11.2 Abstract Factory模式簡介 138
11.3 學習Abstract Factory模式:示例 138
11.4 學習Abstract Factory模式:實現該模式 144
11.5 實踐註記:Abstract Factory模式 149
11.6 將Abstract Factory模式與CAD/CAM問題聯繫起來 151
11.7 小結 151
複習題 152
簡答題 152
闡述題 152
觀點與套用題 152
第四部分 組合起來:用模式思考
第 12章 專家設計之道 154
12.1 概覽 154
12.2 添加特徵的創建方式 154
12.3 小結 160
複習題 160
簡答題 160
闡述題 161
觀點與套用題 161
第 13章 用模式解決CAD/CAM問題 162
13.1 概覽 162
13.2 對CAD/CAM問題的回顧 162
13.3 用模式思考 163
13.4 用模式思考:步驟1 164
13.5 用模式思考:步驟2a 165
13.6 用模式思考:步驟2b 169
13.7 用模式思考:步驟2c 172
13.8 用模式思考:重複步驟2a和步驟2b(Facade模式) 173
13.9 用模式思考:重複步驟2a和步驟2b(Adapter模式) 174
13.10 用模式思考:重複步驟2a和步驟2b(Abstract Factory模式) 174
13.11 用模式思考:步驟3 175
13.12 與原解決方案的比較 175
13.13 小結 176
複習題 177
簡答題 177
闡述題 177
觀點與套用題 177
第五部分 邁向新的設計方式
第 14章 設計模式的原則與策略 180
14.1 概覽 180
14.2 開閉原則 181
14.3 從背景設計原則 181
14.4 封裝變化原則 185
14.5 抽象類與接口 186
14.6 理性懷疑原則 187
14.7 小結 187
複習題 188
簡答題 188
闡述題 188
觀點與套用題 188
第 15章 共性與可變性分析 189
15.1 概覽 189
15.2 共性和可變性分析與應用程式設計 189
15.3 用CVA解決CAD/CAM問題 190
15.4 小結 194
複習題 194
簡答題 194
闡述題 194
觀點與套用題 195
第 16章 分析矩陣 196
16.1 概覽 196
16.2 現實世界:充滿變化 196
16.3 國際電子商務系統案例研究:應對變化 197
16.4 實踐註記 203
16.5 小結 206
複習題 206
簡答題 206
闡述題 206
觀點與套用題 206
第 17章 Decorator模式 207
17.1 概覽 207
17.2 更多細節 207
17.3 Decorator模式 209
17.4 將Decorator模式套用到我們的案例研究 210
17.5 另一個例子:輸入/輸出 213
17.6 實踐註記:使用Decorator模式 215
17.7 Decorator模式的本質 216
17.8 小結 217
複習題 217
簡答題 217
闡述題 217
觀點與套用題 217
第六部分 其他重要模式
第 18章 Observer模式 220
18.1 概覽 220
18.2 模式的分類 220
18.3 國際電子商務案例的更多需求 221
18.4 Observer模式 222
18.5 將Observer模式套用到我們的案例研究 223
18.6 實踐註記:使用Observer模式 227
18.7 小結 229
複習題 229
簡答題 229
闡述題 230
觀點與套用題 230
第 19章 Template Method模式 231
19.1 概覽 231
19.2 案例研究的更多需求 231
19.3 Template Method模式 232
19.4 將Template Method模式套用到我們的案例研究 232
19.5 使用Template Method模式減少冗餘 233
19.6 實踐註記:使用Template Method模式 238
19.7 小結 239
複習題 240
簡答題 240
闡述題 240
第七部分 各種工廠模式
第 20章 來自設計模式的教益:各種工廠模式 242
20.1 概覽 242
20.2 工廠 242
20.3 再談背景 243
20.4 工廠遵循我們的準則 245
20.5 限制變化的影響 246
20.6 對工廠的另一種思考方式 246
20.7 工廠的不同角色 247
20.8 實踐註記 247
20.9 小結 248
複習題 248
簡答題 248
闡述題 248
觀點與套用題 248
第 21章 Singleton模式和Double-Checked Locking模式 249
21.1 概覽 249
21.2 Singleton模式簡介 249
21.3 將Singleton模式套用到我們的案例研究 250
21.4 一種變體:Double-Checked Locking模式 252
21.5 反思 255
21.6 實踐註記:使用Singleton模式和Double-Checked Locking模式 255
21.7 小結 256
複習題 256
簡答題 256
闡述題 256
觀點與套用題 256
第 22章 Object Pool模式 257
22.1 概覽 257
22.2 一個需要對對象進行管理的問題 257
22.3 Object Pool模式 263
22.4 觀察:工廠的作用不僅是實例化 263
22.5 小結 265
複習題 265
簡答題 265
闡述題 266
觀點與套用題 266
第 23章 Factory Method模式 267
23.1 概覽 267
23.2 案例研究的更多需求 267
23.3 Factory Method模式 268
23.4 Factory Method模式與面向對象語言 268
23.5 實踐註記:使用Factory Method模式 269
23.6 小結 270
複習題 271
簡答題 271
闡述題 271
觀點與套用題 271
第 24章 工廠模式的總結 272
24.1 概覽 272
24.2 軟體開發過程中的步驟 272
24.3 工廠與極限編程實踐殊途同歸 273
24.4 系統的擴展性 273
第八部分 終點與起點
第 25章 設計模式回顧:總結與新起點 276
25.1 概覽 276
25.2 面向對象原則的總結 276
25.3 設計模式如何封裝實現 277
25.4 共性和可變性分析與設計模式 277
25.5 按責任分解問題域 278
25.6 模式和從背景設計 279
25.7 模式內部的關聯 279
25.8 設計模式與敏捷編程實踐 281
25.9 實踐註記 281
25.10 小結 281
複習題 282
簡答題 282
闡述題 282
觀點與套用題 282
第 26章 參考書目 283
26.1 本書配套網站 283
26.2 推薦閱讀 284
26.3 針對Java程式設計師的推薦讀物 285
26.4 針對C++程式設計師的推薦讀物 286
26.5 針對COBOL程式設計師的推薦讀物 287
26.6 極限編程的推薦讀物 287
26.7 程式設計的一般性推薦讀物 287
26.8 個人推薦 288

相關詞條

熱門詞條

聯絡我們