注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計.NET.NET2.0模式開發(fā)實踐

.NET2.0模式開發(fā)實踐

.NET2.0模式開發(fā)實踐

定 價:¥45.00

作 者: 張凱峰,李彥娜,張廣亮
出版社: 人民郵電出版社
叢編項: 圖靈程序設(shè)計叢書
標 簽: .NET

ISBN: 9787115153852 出版時間: 2007-04-01 包裝: 膠版紙
開本: 800*1000 頁數(shù): 305 字數(shù):  

內(nèi)容簡介

  本書闡述了應用于.NET 2.0框架的設(shè)計模式,重點以C#語言來演示應用各種模式。書中的主要內(nèi)容包括面向?qū)ο缶幊痰膶嵸|(zhì)、模塊化和異常、測試驅(qū)動開發(fā)、基本設(shè)計模式、應用于架構(gòu)策略的設(shè)計模式、序列化和持久化等,同時針對測試、模式和重構(gòu),闡述了相關(guān)聯(lián)的面向?qū)ο缶幊?。 本書適合高等學校計算機相關(guān)專業(yè)師生,以及從事.NET程序設(shè)計的程序員閱讀。

作者簡介

  Christian Gross是一位經(jīng)驗豐富、多才多藝的軟件顧問,客戶包括微軟、戴姆勒-奔馳等大型公司。他精通各種微軟客戶端/服務(wù)器技術(shù)。除本書外,他還撰寫了暢銷書Ajax Patterns and Best Practices,并與人合作撰寫了許多ASP、SQL Server、Windows編程方面的技術(shù)圖書。

圖書目錄

第1章 面向?qū)ο缶幊痰膶嵸|(zhì)                    1
1.1 理解類型                      1
1.2 模塊化與可重用代碼                      3
1.3 利用作用域控制訪問                      5
1.4 理解繼承                      7
1.4. 1class與struct在繼承上的區(qū)別                      8
1.4.2 簡單的繼承                      11
1.4.3 利用虛函數(shù)繼承                      12
1.5 軟件工程中的繼承                      13
1.6 編寫泛型代碼                      15
1.6.1 泛型的實例                      15
1.6.2 約束                      16
1.6.3 一些思考                      18
1.7 組合                      18
1.8 異步代碼                      19
1.9 最后的思考                      21
第2章 日志、錯誤與測試驅(qū)動開發(fā)                      22
2.1 日志管理                      22
2.1.1 簡單的log4net例子                      22
2.1.2 利用ILog接口生成消息                      24
2.1.3 管理配置文件                      25
2.1.4 建立一個現(xiàn)實的配置                      27
2.1.5 實現(xiàn)ToString                    34
2.2 實現(xiàn)異常處理                      35
2.2.1 錯誤與異常分類                      35
2.2.2 實現(xiàn)錯誤策略                      37
2.2.3 實現(xiàn)異常策略                      44
2.3 使用NUnit來做測試驅(qū)動開發(fā)                      48
2.3.1 理解測試驅(qū)動開發(fā)                      49
2.3.2 在應用程序中使用NUnit                    50
2.3.3 運行NUnit測試                      51
2.3.4更多詳細的NUnit測試                      51
2.4 最后的思考                      54
第3章 定義根基                      56
3.1 定義應用程序的基礎(chǔ)                      56
3.1.1 定義意圖                      56
3.1.2 測試驅(qū)動開發(fā)                      58
3.2 實現(xiàn)Bridge模式                      62
3.2.1 使用接口時留有選擇余地                      63
3.2.2 過猶不及                      64
3.2.3 關(guān)于.NET1.x                    65
3.3 Bridge模式實現(xiàn)變種                      66
3.3.1 實現(xiàn)應用程序邏輯                      66
3.3.2 控制器接口                      69
3.3.3 實現(xiàn)默認的基類                      70
3.3.4 接口和類的設(shè)計決策                      73
3.4 使用Factory模式實例化類型                      77
3.4.1 需要幫助類型                      77
3.4.2 實現(xiàn)插件架構(gòu)                      78
3.4.3 根據(jù)計劃創(chuàng)建對象                      80
3.4.4 克隆對象                      80
3.5最后的思考                      81
第4章 應用程序的架構(gòu)                      82
4.1 使應用程序正常運行                      82
4.1.1 可擴展性和可維護性                      83
4.1.2 使用黑盒                      83
4.2 PipesandFilters模式                      85
4.2.1 例子:從Amazon.com購買電視機                      85
4.2.2 電視機選擇系統(tǒng)的架構(gòu)                      86
4.2.3 電視機選擇系統(tǒng)的實現(xiàn)                      87
4.2.4 關(guān)于PipesandFilters模式的幾點思考                      95
4.3 Client-Dispatcher-Server模式                      96
4.3.1 定義Client-Dispatcher-Server模式的架構(gòu)                      97
4.3.2 靜態(tài)分配器架構(gòu)                      98
4.3.3 動態(tài)分配器架構(gòu)                      99
4.3.4 架構(gòu)Client-Dispatcher-Server模式                      101
4.3.5 實現(xiàn)程序集目錄解析器                      103
4.3.6 實現(xiàn)Web服務(wù)解析器                      109
4.4 Micro-Kernel模式                      111
4.4.1 微內(nèi)核的架構(gòu)                      111
4.4.2 隱藏微內(nèi)核的細節(jié)                      112
4.4.3 設(shè)計微內(nèi)核                      113
4.4.4 微內(nèi)核實現(xiàn)細節(jié)                      114
4.4.5 構(gòu)建簡單的銀行應用程序                      114
4.4.6 關(guān)于Micro-Kernel模式的思考                      120
4.5 最后的思考                      120
第5章 實現(xiàn)成組的組件                      121
5.1 兩個傳統(tǒng)的面向?qū)ο箦e誤                      121
5.1.1 屬性和烤箱溫度控制                      122
5.1.2 繼承和基類的脆弱性問題                      124
5.2 示例應用:翻譯程序                      128
5.2.1 快速編寫一個簡陋的應用程序                      128
5.2.2 重構(gòu)代碼                      130
5.2.3 重構(gòu)并且實現(xiàn)Bridge和Factory                      130
5.2.4 實現(xiàn)Mediator模式                      132
5.2.5 實現(xiàn)Template模式                      137
5.2.6 實現(xiàn)Adapter模式                      142
5.2.7 關(guān)于翻譯程序的最后思考                      146
5.3 為應用程序添加多語言支持                      146
5.3.1 想想看:Decorator還是Composite                      146
5.3.2 實現(xiàn)ChainofResponsibility模式                      147
5.3.3 實現(xiàn)Command模式                      151
5.3.4 實現(xiàn)Composite模式                      154
5.3.5 實現(xiàn)Decorator模式                      156
5.3.6 實現(xiàn)State模式                      159
5.3.7 實現(xiàn)Strategy模式                      164
5.3.8 實現(xiàn)翻譯語言的動態(tài)選擇                      165
5.4 最后的思考                      166
第6章 編寫算法                      168
6.1 不做修改的功能模仿                      168
6.1.1 實現(xiàn)Proxy模式                      169
6.1.2 使用仿函數(shù)增強類型                      170
6.1.3 為集合創(chuàng)建泛型仿函數(shù)架構(gòu)                      178
6.2 構(gòu)建電影票應用程序                      181
6.2.1 從基礎(chǔ)開始                      181
6.2.2 計算票的銷售額                      182
6.2.3 讀取銷售額數(shù)據(jù)                      184
6.2.4 使用null的問題                      186
6.2.5 更為簡單的買票方法:使用Facade模式                      189
6.3 使用多態(tài)管理擴展                      193
6.3.1 實現(xiàn)StaticExtension模式                      193
6.3.2 實現(xiàn)DynamicExtension模式                      198
6.3.3 擴展、類型轉(zhuǎn)換以及它們的意義                      202
6.4 使用Iterator模式遍歷數(shù)據(jù)                      203
6.4.1 使用C#2.0實現(xiàn)Iterator模式                      203
6.4.2 在迭代器中使用仿函數(shù)                      204
6.5 最后的思考                      205
第7章 高效代碼                      206
7.1 不可變類是高效的類                      206
7.1.1 為什么不可變類具有一致性                      206
7.1.2 為什么不可變類是可伸縮的                      213
7.1.3 一些使用不可變類的經(jīng)驗                      216
7.2 在Flyweight模式中使用不可變類                      217
7.2.1 Flyweight模式的例子                      217
7.2.2 通用的Flyweight架構(gòu)                      219
7.2.3 使用通用Flyweight架構(gòu)                      221
7.2.4 使用Flyweight的實現(xiàn)                      222
7.3 對象池原理                      223
7.3.1 對象池和COM+                      224
7.3.2 對象池理論                      224
7.3.3 在.NET中實現(xiàn)ObjectPool模式                      224
7.4 多線程應用程序                      231
7.4.1 簡單的線程例子                      232
7.4.2 實現(xiàn)單例                      232
7.4.3 使用生產(chǎn)者-消費者技術(shù)管理多線程問題                      242
7.5 最后的思考                      245
第8章 數(shù)據(jù)持久化                      246
8.1. NET中的序列化                      246
8.1.1. NET中的二進制對象序列化                      247
8.1.2. NET中的XML對象序列化                      249
8.1.3 序列化的問題                      251
8.2 調(diào)整并完善Serializer模式                      252
8.2.1 問外部狀態(tài):Visitor模式                      252
8.2.2 訪問內(nèi)部狀態(tài):Memento模式                      260
8.3 使用NHibernate進行對象/關(guān)系數(shù)據(jù)映射                      266
8.3.1 簡單的NHibernate示例                      266
8.3.2 映射一對多關(guān)系                      274
8.3.3 其他類型的關(guān)聯(lián)                      282
8.3.4 使用HQL                      282
8.4 最后的思考                      283
第9章 通過重構(gòu)實現(xiàn)模式                      285
9.1 測試驅(qū)動開發(fā)與重構(gòu)                      285
9.1.1 編寫第一行代碼                      286
9.1.2 在第一部分代碼后                      286
9.1.3 重構(gòu)的種類                      287
9.2 類,方法——一切都太大了                      288
9.2.1 重構(gòu)Stream類                      290
9.2.2 重構(gòu)Stream類的問題                      292
9.2.3 重構(gòu)類而不是基類型                      293
9.3 我不理解代碼                      296
9.3.1 處理未知代碼                      296
9.3.2 跟蹤代碼                      296
9.3.3 中斷代碼                      297
9.4 代碼似同實異                      297
9.4.1 為什么復制和粘貼代碼有效                      298
9.4.2 使用Template方法重構(gòu)重復的代碼                      298
9.4.3 可以接受的重復                      303
9.5 時不我待                      303
9.6 我希望移除代碼                      304
9.7 最后的思考                      305

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號