第一部分 麵嚮對象軟件開發簡介
         第1章 麵嚮對象範型 3
         1.1 概覽 3
         1.2 麵嚮對象範型之前:功能分解 3
         1.3 需求問題 5
         1.4 應對變化:使用功能分解 6
         1.5 應對需求變更 8
         1.6 麵嚮對象範型 11
         1.7 麵嚮對象程序設計實踐 16
         1.7 特殊對象方法 18
         1.8 小結 19
         復習題 20
         簡答題 20
         闡述題 21
         觀點與應用題 21
         第2章 UML 22
         2.1 概覽 22
         2.2 什麼是UML 22
         2.3 為什麼使用UML 23
         2.4 類圖 23
         2.5 交互圖 29
         2.6 小結 31
         復習題 31
         簡答題 31
         闡述題 31
         觀點與應用題 31
         第二部分 傳統麵嚮對象設計的局限
         第3章 對代碼靈活性要求很高的問題 35
         3.1 概覽 35
         3.2 提取CAD/CAM係統的信息 35
         3.3 瞭解專業術語 36
         3.4 問題描述 37
         3.5 挑戰及其解決方案 39
         3.6 小結 41
         復習題 42
         簡答題 42
         闡述題 42
         觀點與應用題 42
         第4章 標準的麵嚮對象解決方案 43
         4.1 概覽 43
         4.2 作為特例來解決 43
         4.3 小結 50
         復習題 51
         簡答題 51
         闡述題 51
         觀點與應用題 51
         第三部分 設 計 模 式
         第5章 設計模式簡介 55
         5.1 概覽 55
         5.2 設計模式源自建築學和人類學 55
         5.3 從建築模式到軟件設計模式 59
         5.4 為什麼學習設計模式 60
         5.5 學習設計模式的其他好處 64
         5.6 小結 65
         復習題 65
         簡答題 65
         闡述題 66
         觀點與應用題 66
         第6章 Facade模式 67
         6.1 概覽 67
         6.2 Facade模式簡介 67
         6.3 學習Facade模式 67
         6.4 實踐注記:Facade模式 70
         6.5 Facade模式與CAD/CAM問題的聯係 71
         6.6 小結 72
         復習題 72
         簡答題 72
         闡述題 72
         觀點與應用題 73
         第7章 Adapter模式 74
         7.1 概覽 74
         7.2 Adapter模式簡介 74
         7.3 學習Adapter模式 75
         7.4 實踐注記:Adapter模式 79
         7.5 Adapter模式與CAD/CAM問題的聯係 82
         7.6 小結 82
         復習題 82
         簡答題 82
         闡述題 83
         觀點與應用題 83
         第8章 開拓視野 84
         8.1 概覽 84
         8.2 對象:傳統看法與新看法 85
         8.3 封裝:傳統看法與新看法 86
         8.4 發現變化並將其封裝 89
         8.5 共性和可變性分析與抽象類 92
         8.6 敏捷編程的品質 94
         8.7 小結 97
         復習題 98
         簡答題 98
         闡述題 98
         觀點與應用題 99
         第9章 Strategy模式 100
         9.1 概覽 100
         9.2 處理新需求的一種途徑 100
         9.3 國際電子商務係統案例研究:最初的需求 102
         9.4 處理新的需求 103
         9.5 Strategy模式 110
         9.6 實踐注記:使用Strategy模式 112
         9.7 小結 113
         復習題 114
         簡答題 114
         闡述題 114
         觀點與應用題 114
         第10章 Bridge模式 115
         10.1 概覽 115
         10.2 Bridge模式簡介 115
         10.3 學習Bridge模式:示例 116
         10.4 對使用設計模式的觀察 125
         10.5 學習Bridge模式:通過將它推演齣來 126
         10.6 Bridge模式迴顧 133
         10.7 實踐注記:使用Bridge模式 134
         10.8 小結 137
         復習題 139
         簡答題 139
         闡述題 139
         觀點與應用題 139
         第11章 Abstract Factory模式 140
         11.1 概覽 140
         11.2 Abstract Factory模式簡介 140
         11.3 學習Abstract Factory模式:示例 140
         11.4 學習Abstract Factory模式:實現該模式 146
         11.5 實踐注記:Abstract Factory模式 151
         11.6 將Abstract Factory模式與CAD/CAM問題聯係起來 153
         11.7 小結 153
         復習題 154
         簡答題 154
         闡述題 154
         觀點與應用題 154
         第四部分 組閤起來:用模式思考
         第12章 專傢設計之道 157
         12.1 概覽 157
         12.2 添加特徵的創建方式 157
         12.3 小結 163
         復習題 163
         簡答題 163
         闡述題 164
         觀點與應用題 164
         第13章 用模式解決CAD/CAM問題 165
         13.1 概覽 165
         13.2 對CAD/CAM問題的迴顧 165
         13.3 用模式思考 166
         13.4 用模式思考:步驟1 167
         13.5 用模式思考:步驟2a 168
         13.6 用模式思考:步驟2b 172
         13.7 用模式思考:步驟2c 175
         13.8 用模式思考:重復步驟2a和2b(Facade模式) 176
         13.9 用模式思考:重復步驟2a和2b(Adapter模式) 177
         13.10 用模式思考:重復步驟2a和2b(Abstract Factory模式) 177
         13.11 用模式思考:步驟3 178
         13.12 與原解決方案的比較 178
         13.13 小結 179
         復習題 180
         簡答題 180
         闡述題 180
         觀點與應用題 180
         第五部分 邁嚮新的設計方式
         第14章 設計模式的原則與策略 183
         14.1 概覽 183
         14.2 開閉原則 184
         14.3 從背景設計原則 184
         14.4 封裝變化原則 188
         14.5 抽象類與接口 189
         14.6 理性懷疑原則 190
         14.7 小結 190
         復習題 191
         簡答題 191
         闡述題 191
         觀點與應用題 191
         第15章 共性與可變性分析 192
         15.1 概覽 192
         15.2 共性和可變性分析與應用程序設計 192
         15.3 用CVA解決CAD/CAM問題 193
         15.4 小結 197
         復習題 197
         簡答題 197
         闡述題 197
         觀點與應用題 198
         第16章 分析矩陣 199
         16.1 概覽 199
         16.2 現實世界:充滿變化 199
         16.3 國際電子商務係統案例研究:應對變化 200
         16.4 實踐注記 206
         16.5 小結 209
         復習題 209
         簡答題 209
         闡述題 209
         觀點與應用題 209
         第17章 Decorator模式 210
         17.1 概覽 210
         17.2 更多細節 210
         17.3 Decorator模式 212
         17.4 將Decorator模式應用到我們的案例研究 213
         17.5 另一個例子:輸入/輸齣 216
         17.6 實踐注記:使用Decorator模式 218
         17.7 Decorator模式的本質 219
         17.8 小結 220
         復習題 220
         簡答題 220
         闡述題 220
         觀點與應用題 220
         第六部分 其他重要模式
         第18章 Observer模式 223
         18.1 概覽 223
         18.2 模式的分類 223
         18.3 國際電子商務案例的更多需求 224
         18.4 Observer模式 225
         18.5 將Observer模式應用到我們的案例研究 226
         18.6 實踐注記:使用Observer模式 230
         18.7 小結 232
         復習題 232
         簡答題 232
         闡述題 233
         觀點與應用題 233
         第19章 Template Method模式 234
         19.1 概覽 234
         19.2 案例研究的更多需求 234
         19.3 Template Method模式 235
         19.4 將Template Method模式應用到我們的案例研究 235
         19.5 使用Template Method模式減少冗餘 236
         19.6 實踐注記:使用Template Method模式 241
         19.7 小結 242
         復習題 243
         簡答題 243
         闡述題 243
         第七部分 各種工廠模式
         第20章 來自設計模式的教益:各種工廠模式 247
         20.1 概覽 247
         20.2 工廠 247
         20.3 再談背景 248
         20.4 工廠遵循我們的準則 250
         20.5 限製變化的影響 251
         20.6 對工廠的另一種思考方式 251
         20.7 工廠的不同角色 252
         20.8 實踐注記 252
         20.9 小結 253
         復習題 253
         簡答題 253
         闡述題 253
         觀點與應用題 253
         第21章 Singleton模式和Double-CheckedLocking模式 254
         21.1 概覽 254
         21.2 Singleton模式簡介 254
         21.3 將Singleton模式應用到我們的案例研究 255
         21.4 一種變體:Double-Checked Locking模式 257
         21.5 反思 260
         21.6 實踐注記:使用Singleton模式和 260
         Double-Checked Locking模式 260
         21.7 小結 261
         復習題 261
         簡答題 261
         闡述題 261
         觀點與應用題 261
         第22章 Object Pool模式 262
         22.1 概覽 262
         22.2 一個需要對對象進行管理的問題 262
         22.3 Object Pool模式 268
         22.4 觀察:工廠的作用不僅是實例化 268
         22.5 小結 270
         復習題 270
         簡答題 270
         闡述題 271
         觀點與應用題 271
         第23章 Factory Method模式 272
         23.1 概覽 272
         23.2 案例研究的更多需求 272
         23.3 Factory Method模式 273
         23.4 Factory Method模式與麵嚮對象語言 273
         23.5 實踐注記:使用Factory Method模式 274
         23.6 小結 275
         復習題 276
         簡答題 276
         闡述題 276
         觀點與應用題 276
         第24章 工廠模式的總結 277
         24.1 概覽 277
         24.2 軟件開發過程中的步驟 277
         24.3 工廠與極限編程實踐殊途同歸 278
         24.4 係統的擴展性 278
         第八部分 終點與起點
         第25章 設計模式迴顧:總結與新起點 283
         25.1 概覽 283
         25.2 麵嚮對象原則的總結 283
         25.3 設計模式如何封裝實現 284
         25.4 共性和可變性分析與設計模式 284
         25.5 按責任分解問題域 285
         25.6 模式和從背景設計 286
         25.7 模式內部的關聯 286
         25.8 設計模式與敏捷編程實踐 288
         25.9 實踐注記 288
         25.10 小結 288
         復習題 289
         簡答題 289
         闡述題 289
         觀點與應用題 289
         第26章 參考書目 290
         26.1 本書配套網站 290
         26.2 推薦閱讀 291
         26.3 針對Java程序員的推薦讀物 292
         26.4 針對C++程序員的推薦讀物 293
         26.5 針對COBOL程序員的推薦讀物 294
         26.6 極限編程的推薦讀物 294
         26.7 程序設計的一般性推薦讀物 294
         26.8 個人推薦 295
      · · · · · ·     (
收起)