.NET設計規範

.NET設計規範 pdf epub mobi txt 電子書 下載2025

出版者:人民郵電齣版社
作者:Krzysztof Cwalina,
出品人:圖靈教育
頁數:392
译者:葛子昂
出版時間:2010-5
價格:69.00元
裝幀:平裝
isbn號碼:9787115226518
叢書系列:圖靈程序設計叢書·微軟技術係列
圖書標籤:
  • .NET
  • 設計規範
  • C
  • #編程
  • 程序設計
  • Framework
  • 軟件架構
  • 軟件開發
  • 設計規範
  • NET
  • 編程
  • 開發
  • 架構
  • 代碼規範
  • 軟件工程
  • C#
  • 最佳實踐
  • 麵嚮對象
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

數韆名微軟精銳開發人員的經驗和智慧,最終濃縮在這本設計規範之中。與上一版相比,書中新增瞭許多評注,解釋瞭相應規範的背景和曆史,從中你能聆聽到微軟技術大師Anders Hejlsberg、Jeffrey Richter和Paul Vick等的聲音,讀來令人興味盎然。

本書雖然是針對.NET平颱上的框架設計的,但對其他平颱的框架設計同樣具有藉鑒意義。新版根據.NET Framework 3.0和3.5的新特性做瞭全麵更新,主要關注的是直接影響框架可編程能力的設計問題。遵守這些規範對於使用.NET Framework創建高質量的應用程序至關重要。

本書提供配套光盤,內含Designing .NET Class Libraries等13個演講視頻。此外,光盤還包括.NET Framework類和組件設計指南、API規範樣例以及其他有用的資源和工具。

著者簡介

Krzysztof Cwalina 微軟公司.NET Framework開發組項目經理。他為.NET Framework設計瞭多個API,還開發瞭FxCop等框架開發工具。目前,他正緻力於在微軟內部開發推廣設計規範,將其應用到.NET Framework中,同時負責核心.NET Framework API的交付。

Brad Abrams 微軟公司CLR開發組和.NET Framework開發組的創始人之一,目前是項目經理主管。他參與製定瞭CLS、.NET Framework設計規範以及ECMA/ISO CLI標準中程序庫標準,著有Programming in the .NET Environment、.NET Framework Standard Library Annotated Reference(捲1和捲2)等書。讀者可以從他的博http://blogs.msdn.com/bradA/中瞭解他的最新想法。

圖書目錄

第1章 概述 1
1.1 精心設計的框架所具備的品質 2
1.1.1 精心設計的框架是簡單的 2
1.1.2 精心設計的框架設計代價高 3
1.1.3 精心設計的框架充滿利弊權衡 4
1.1.4 精心設計的框架應該藉鑒過去的經驗 4
1.1.5 精心設計的框架要考慮未來發展 4
1.1.6 精心設計的框架應具有良好的集成性 5
1.1.7 精心設計的框架是一緻的 5
第2章 框架設計基礎 7
2.1 漸進框架 9
2.2 框架設計的基本原則 12
2.2.1 圍繞場景進行設計的原則 12
2.2.2 低門檻原則 18
2.2.3 自說明對象模型原則 22
2.2.4 分層架構原則 28
2.3 小結 30
第3章 命名規範 31
3.1 大小寫約定 31
3.1.1 標識符的大小寫規則 32
.3.1.2 首字母縮寫詞的大小寫 34
3.1.3 復閤詞和常用術語的大小寫 36
3.1.4 是否區分大小寫 37
3.2 通用命名約定 38
3.2.1 單詞的選擇 38
3.2.2 使用單詞縮寫和首字母縮寫詞 40
3.2.3 避免使用編程語言特有的名字 41
3.2.4 為已有api的新版本命名 43
3.3 程序集和dll的命名 45
3.4 名字空間的命名 46
3.5 類、結構和接口的命名 50
3.5.1 泛型類型參數的命名 53
3.5.2 常用類型的命名 53
3.5.3 枚舉類型的命名 54
3.6 類型成員的命名 56
3.6.1 方法的命名 56
3.6.2 屬性的命名 57
3.6.3 事件的命名 58
3.6.4 字段的命名 59
3.7 參數的命名 60
3.8 資源的命名 61
3.9 小結 62
第4章 類型設計規範 63
4.1 類型和名字空間 65
4.2 類和結構之間的選擇 70
4.3 類和接口之間的選擇 73
4.4 抽象類的設計 79
4.5 靜態類的設計 80
4.6 接口的設計 82
4.7 結構的設計 84
4.8 枚舉的設計 86
4.8.1 標記枚舉的設計 92
4.8.2 給枚舉添加值 95
4.9 嵌套類型 97
4.10 類型和程序集元數據 98
4.11 小結 100
第5章 成員設計 101
5.1 成員設計的通用規範 101
5.1.1 成員重載 101
5.1.2 顯式地實現接口成員 107
5.1.3 屬性和方法之間的選擇 110
5.2 屬性的設計 115
5.2.1 索引屬性的設計 117
5.2.2 當屬性發生改變時的通知事件 119
5.3 構造函數的設計 121
5.4 事件的設計 128
5.5 字段的設計 134
5.6 擴展方法 136
5.7 操作符重載 142
5.7.1 重載operator== 146
5.7.2 類型轉換操作符 146
5.8 參數的設計 147
5.8.1 枚舉和布爾參數之間的選擇 149
5.8.2 參數的驗證 151
5.8.3 參數的傳遞 154
5.8.4 參數數量可變的成員 156
5.8.5 指針參數 159
5.9 小結 161
第6章 擴展性設計 162
6.1 擴展機製 162
6.1.1 非密封類 162
6.1.2 受保護的成員 164
6.1.3 事件與迴調函數 165
6.1.4 虛成員 169
6.1.5 抽象(抽象類型與抽象接口) 171
6.2 基類 173
6.3 密封 174
6.4 小結 177
第7章 異常 178
7.1 拋齣異常 182
7.2 為拋齣的異常選擇閤適的類型 187
7.2.1 錯誤消息的設計 190
7.2.2 異常處理 191
7.2.3 封裝異常 196
7.3 標準異常類型的使用 197
7.3.1 exception與systemexcep- tion 198
7.3.2 applicationexception 198
7.3.3 invalidoperationexception 198
7.3.4 argumentexception、argumentnullexception及argumentoutofrange-exception 199
7.3.5 nullreferenceexception、indexoutofrangeexception及accessviolationexception 199
7.3.6 stackoverflowexception 200
7.3.7 outofmemoryexception 201
7.3.8 comexception、sehexception以及executionengine-exception 202
7.4 自定義異常的設計 202
7.5 異常與性能 203
7.5.1 tester-doer模式 204
7.5.2 try-parse模式 205
7.6 小結 206
第8章 使用規範 207
8.1 數組 207
8.2 修飾屬性 208
8.3 集閤 211
8.3.1 集閤參數 213
8.3.2 集閤屬性與返迴值 214
8.3.3 數組與集閤之間的選擇 218
8.3.4 自定義集閤的實現 218
8.4 datetime和datetimeoffset 220
8.5 icloneable 222
8.6 icomparable[t]與iequatable[t] 223
8.7 idisposable 225
8.8 nullable[t] 225
8.9 object 226
8.9.1 object.equals 226
8.9.2 object.gethashcode 228
8.9.3 object.tostring 229
8.10 序列化 231
8.10.1 選擇要支持的序列化技術 232
8.10.2 對數據協定序列化的支持 233
8.10.3 對xml序列化的支持 237
8.10.4 對運行時序列化的支持 238
8.11 uri 239
8.12 system.xml的使用 241
8.13 相等性操作符 242
8.13.1 值類型的相等性操作符 243
8.13.2 引用類型的相等性操作符 243
第9章 常用的設計模式 244
9.1 聚閤組件 244
9.1.1 麵嚮組件的設計 245
9.1.2 因子類型 248
9.1.3 聚閤組件規範 249
9.2 async模式 251
9.2.1 選擇閤適的async模式 251
9.2.2 經典async模式 253
9.2.3 async模式的基本實現樣例 256
9.2.4 基於事件的async模式 257
9.2.5 對輸齣參數和引用參數的支持 259
9.2.6 對取消操作的支持 260
9.2.7 對進度報告的支持 260
9.2.8 對增量結果的支持 262
9.3 依賴屬性 263
9.3.1 依賴屬性的設計 264
9.3.2 附加依賴屬性的設計 266
9.3.3 依賴屬性的驗證 267
9.3.4 依賴屬性的改變通知 268
9.3.5 依賴屬性的強製賦值 269
9.4 dispose模式 269
9.4.1 基本dispose模式 272
9.4.2 可終結類型 277
9.5 factory模式 281
9.6 對linq的支持 285
9.6.1 linq概要 285
9.6.2 支持linq的幾種方法 286
9.6.3 通過ienumerable[t]來支持linq 287
9.6.4 通過iqueryable[t]來支持linq 287
9.6.5 通過query模式來支持linq 288
9.7 optional feature模式 291
9.8 simulated covariance模式 294
9.9 template method模式 299
9.10 超時 301
9.11 可供xaml使用的類型 303
9.12 結束語 305
附錄a c#編程風格約定 306
附錄b 通過fxcop來實施設計規範 313
附錄c api規格書樣例 343
術語錶 350
推薦讀物 354
索引 356
· · · · · · (收起)

讀後感

評分

程序和画画一样,无非就是各种元素的控制和充填,只是把画画中的线条,点什么的变成了程序中的类,接口,函数,然后在统一构成一幅完整的画卷(程序),如此而已。 首先,本书好就好在,它告诉了你程序中的这些元素在.Net中应该如何使用,如何选择。 当你还在为选择是用接口...  

評分

程序和画画一样,无非就是各种元素的控制和充填,只是把画画中的线条,点什么的变成了程序中的类,接口,函数,然后在统一构成一幅完整的画卷(程序),如此而已。 首先,本书好就好在,它告诉了你程序中的这些元素在.Net中应该如何使用,如何选择。 当你还在为选择是用接口...  

評分

整本书的大部分内容都在讲.Net Framework中是如何考虑变量命名和一些编码相关的决策,设计的东西太少了,或者说我看此书时是希望该书可以讨论.Net Framework类是如何设计,又如何一起协作,以及实现这些协作做了那些权衡,备选的方案为什么不是最优的东西,这些信息太少了!  

評分

評分

整本书的大部分内容都在讲.Net Framework中是如何考虑变量命名和一些编码相关的决策,设计的东西太少了,或者说我看此书时是希望该书可以讨论.Net Framework类是如何设计,又如何一起协作,以及实现这些协作做了那些权衡,备选的方案为什么不是最优的东西,这些信息太少了!  

用戶評價

评分

.net入門瞭以後一定要看

评分

講瞭.net設計的邏輯及原因,以及如何規範的寫.net程序。另外我覺得絕大部分也適用於其他語言。

评分

標準規範

评分

.NET架構獅必看

评分

設計規範太重要瞭,建議每個産品設計團隊都來一個自己的設計規範。可以用藍湖來製定和管理,很方便

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有