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

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

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

定 價:¥45.00

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

購買這本書可以去


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

內容簡介

  本書闡述了應用于.NET 2.0框架的設計模式,重點以C#語言來演示應用各種模式。書中的主要內容包括面向對象編程的實質、模塊化和異常、測試驅動開發(fā)、基本設計模式、應用于架構策略的設計模式、序列化和持久化等,同時針對測試、模式和重構,闡述了相關聯的面向對象編程?!”緯m合高等學校計算機相關專業(yè)師生,以及從事.NET程序設計的程序員閱讀。

作者簡介

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

圖書目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.autoforsalebyowners.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號