軟體設計精要與模式(第2版)

來源:互聯網
上載者:User

軟體設計精要與模式(第2版)

 

基本資料

作者: 張逸   
出版社:電子工業出版社
ISBN:9787121104534
上架時間:2010-4-9
出版日期:2010 年4月
開本:16開
其他詳細資料查看:http://www.china-pub.com/196623

 

內容簡介

本書關注的焦點是軟體設計,涵蓋了大部分與設計有關的基本要素,包括物件導向思想、設計模式、重構、測試驅動開發、極限編程以及軟體體系架構。其中,尤以設計模式為主,深入探討了軟體設計過程中的原則與模式,並結合大量的執行個體與代碼示範了如何合理運用設計模式,改善程式模組的可複用性、可擴充性,實現模組間的鬆散耦合。全書將軟體設計理論與項目實踐完美地結合起來,使其告別了純理論研究的空泛,具有現實的指導意義。
本書適用於所有希望提高軟體設計水平的程式員、軟體工程師,同時,對於軟體設計師與系統架構師也具有一定的參考價值。

目錄

第1篇 設 計 之 要
第1章 設計之道 2
1.1 計劃的設計與演化的設計 2
1.2 架構的標準 4
1.3 過度設計,還是簡單設計 7
1.4 需要設計模式嗎 9
1.5 重構是必然的 10
1.6 UML重要嗎 11
1.7 測試驅動開發 12
第2章 對象法則 14
2.1 物件導向思想 14
2.2 物件導向核心要素 15
2.2.1 封裝 15
2.2.2 繼承 18
2.2.3 多態 21
2.3 物件導向設計原則 23
2.3.1 單一職責原則 23
2.3.2 開放封閉原則 27
2.3.3 Liskov替換原則 29
2.3.4 依賴倒置原則 30

.2.3.5 介面隔離原則 32
第3章 封裝變化 35
3.1 設計模式之鵠的 35
3.2 如何封裝變化 37
3.2.1 封裝對象行為的變化 37
3.2.2 封裝對象建立的變化 40
3.2.3 封裝對象結構的變化 44
3.3 解耦具體依賴 47
3.3.1 設定檔與反射技術 49
3.3.2 表驅動法 51
3.3.3 慣例優於配置 53
3.3.4 依賴注入 53
第4章 體驗重構 56
4.1 一個階乘容器 57
4.2 代碼的壞味道 58
4.3 需求發生變化 59
4.4 運用重構利器 61
4.5 引入設計模式 64
第5章 測試驅動開發 67
5.1 發現價值與生產價值 68
5.2 運用物件導向編程思想 72
5.3 適時小結 77
5.4 收穫價值 77
5.5 無上之力 78
第2篇 .NET架構與設計模式
第6章 .NET中的Factory 方法模式 82
6.1 “嫁禍江東”之計 82
6.2 WebRequest對象的建立 89
6.3 改造Factory 方法模式 91
6.4 實現良好的可擴充性 98
6.5 慣例優於配置 100
第7章 .NET中的合成模式 102
7.1 文書處理軟體 102
7.2 .NET架構中的控制項 109
7.3 “複合方式”的合成模式 113
第8章 .NET中的裝飾器模式 123
8.1 一步一步走向裝飾器模式 123
8.2 .NET架構中對流的處理 133
第9章 .NET中的迭代器模式 138
9.1 分辨對象的職責 138
9.2 實現迭代器模式 139
9.3 迭代器模式大觀園 144
9.4 迭代器模式在.NET架構中的實現 146
9.5 通過yield return實現迭代器 149
9.6 C# 3.0對迭代器模式的支援 153
第10章 .NET中的策略模式 156
10.1 稅務系統 156
10.2 利用委託實現策略模式 158
10.3 .NET架構中的Provider對象 161
第11章 .NET中的命令模式 166
11.1 考勤管理系統 166
11.2 命令模式在WF中的運用 169
11.3 合成模式與命令模式的結合 172
第3篇 媒體播放器的設計之旅
第12章 物件導向與介面分離 178
12.1 拙劣的設計 178
12.2 物件導向設計 180
12.3 介面分離 185
12.4 解除具體依賴 190
第13章 介面行為的適配 195
13.1 新的應用情境 195
13.2 “狼”與“羊”的關係 196
13.3 引入適配器模式 200
13.3.1 類的適配器模式 201
13.3.2 對象的適配器模式 203
13.4 適配器模式比較 206
第14章 介面行為的擴充 207
14.1 設計走向死胡同 207
14.2 考察適配器模式 208
14.3 引入訪問者模式 211
14.4 非逐一查看者模式 213
14.5 合理運用訪問者模式 217
第15章 介面行為的裝飾 219
15.1 不斷變化的需求 219
15.2 考慮代理模式 221
15.3 引入裝飾器模式 224
第4篇 設計模式應用實踐
第16章 抽象原廠模式應用 228
16.1 報表元件 228
16.2 糟糕的設計 229
16.3 引入抽象原廠模式 231
16.4 工廠對象的使用 234
16.5 引入策略模式和橋接模式 236
16.6 適配器模式擴充抽象工廠結構 238
16.7 介面還是抽象類別 239
第17章 建造者模式應用 243
17.1 裝配裝置對象 243
17.2 糟糕的設計 246
17.3 引入建造者模式 249
17.4 從容應對擴充 253
第18章 命令模式應用 255
18.1 安裝嚮導 255
18.2 糟糕的設計 256
18.3 引入命令模式 259
18.4 進一步完善 261
18.5 分辨對象職責與變化 268
第19章 職責鏈模式應用 271
19.1 員工培訓系統 271
19.2 設計模型 273
19.3 設計的重構 278
19.4 職責鏈模式 280
第20章 觀察者模式應用 286
20.1 監控裝置狀態 287
20.2 引入觀察者模式 288
20.3 事件與委託改進觀察者模式 292
第21章 代理模式應用 297
21.1 顯示裝置控制項 297
21.2 引入代理模式 298
21.3 完善設計 305
第22章 設計模式綜合應用 310
22.1 話單轉換工具 310
22.2 糟糕的設計 311
22.3 物件導向的設計思想 313
22.4 引入策略模式 314
22.5 需求發生變化 318
22.6 引入模板方法模式 318
22.7 合理的設計才是最好的設計 321
22.8 引入橋接模式 322
22.9 分離介面 330
22.10 引入抽象原廠模式 334
第5篇 .NET體系架構
第23章 軟體體系架構 342
23.1 分層架構模式 343
23.2 分層架構模式之優劣 345
23.3 PetShop的架構版本演化 346
23.4 PetShop 4.0的系統架構 349
第24章 資料訪問層 355
24.1 資料庫樣式 355
24.2 資料對象 357
24.3 SQL語句之瘤 362
24.4 運用ORM的思想 363
24.5 資產庫模式與工作單元模式 367
24.6 事務的處理 369
24.7 具有簡單工廠特質的抽象原廠模式 372
24.8 服務定位器模式 374
第25章 訊息處理 376
25.1 MSMQ的實現 376
25.1.1 訊息處理模組的組成 376
25.1.2 訊息介面 377
25.1.3 訊息介面的實現 377
25.1.4 訊息工廠 380
25.1.5 幕後處理應用程式 382
25.1.6 引入策略模式 384
25.2 分散式處理 385
第26章 ASP.NET緩衝 387
26.1 ASP.NET緩衝概述 387
26.2 SqlCacheDependency特性 390
26.2.1 利用aspnet_regsql工具 390
26.2.2 利用SqlCacheDependencyAdmin類 393
26.3 ASP.NET緩衝在PetShop 4.0中的實現 394
26.3.1 CacheDependency介面 394
26.3.2 CacheDependency實現 395
26.3.3 CacheDependency工廠 396
26.3.4 引入門面模式 398
26.3.5 引入代理模式 401
第27章 商務邏輯層 405
27.1 與領域專家合作 405
27.2 商務邏輯層的模式應用 408
27.3 PetShop的商務邏輯層 409
27.4 與資料訪問層的通訊 413
27.5 面向介面設計 415
第28章 表現層 419
28.1 頁面控制器模式 419
28.2 使用者管理 422
28.2.1 Profile特性 423
28.2.2 Membership特性 427
28.3 ASP.NET控制項 434
28.3.1 自訂控制項 436
28.3.2 使用者控制項 440
28.3.3 登入控制項 441
28.3.4 Master Page 442
28.4 MVC模式 444
28.5 表現層的演變 448
參考文獻 449

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.