幫助中心 | 我的帳號 | 關於我們

你必須知道的.NET(第2版)

  • 作者:王濤
  • 出版社:電子工業
  • ISBN:9787121141287
  • 出版日期:2011/08/01
  • 裝幀:平裝
  • 頁數:520
人民幣:RMB 79 元      售價:
放入購物車
加入收藏夾

內容大鋼
    由王濤編著的《你必須知道的.NET》來自於微軟MVP的最新技術心得和感悟,將技術問題以生動易懂的語言展開,層層深入,以例說理。全書主要包括了.NET基礎知識及其深度分析,以.NET Framework和CLR研究為核心展開.NET本質論述,涵蓋了.NET基本知識幾乎所有的重點內容。全書分為5個部分,第1部分講述.NET與面向對象,從底層實現角度分析了.NET如何實現面向對象機制,進一步分析了面向對象設計原則;第2部分論述了.NET類型系統和CLR的內存管理機制,並對IL語言進行了相應介紹;第3部分論述.NET Framework框架的方方面面,詳細分析了.NET框架的所有重點、難點和疑點內容,對框架類庫的全貌進行了必要的專題性探討;第4部分重點介紹了.NET泛型和安全性的相關知識和本質解密;第5部分對.NET 3.0/3.5/4.0新特性進行了詳細的介紹和引導,對於快速入門.NET新特性提供了方便之門。
    《你必須知道的.NET》適於對.NET有一定了解的技術學習者、軟體工程師和系統架構師閱讀,同時也有助於.NET初學者進行快速提高,可作為大中專院校和.NET技術培訓機構的參考教材。

作者介紹
王濤
    王濤,網名anytao,軟體架構師,機械工程碩士,連續三屆Microsoft VjsuaI C# MVP,博客園技術專家,著有《你必須知道的.NET》一書,專註于.NET底層架構和.NET平台企業級應用,長期投入于互聯網產品開發、微軟雲計算平台、分散式系統和企業級系統架構的研究與實踐。目前,投身於移動互聯產業,和幾個志同道合的兄弟在技術之路上狂奔。     作者對.NET基礎架構和CLR底層運行機制有濃厚的研究興趣和造詣,熟悉ASP.NET、Windows Azure、SQL Server、WCF、LINQ、Silverlight、IIS、XML、Windows Phone、Facebook相關技術,精通資料庫應用系統和大型Web系統的開發流程、技術體系和架構設計,對面向對象、設計模式和軟體架構有長期的研究與實踐經驗。

目錄
第1部分 淵源——.NET與面向對象
第1章 OO大智慧 2
1.1 對象的旅行 3
  1.1.1 引言 3
  1.1.2 出生 3
  1.1.3 旅程 3
  1.1.4 插曲 4
  1.1.5 消亡 6
  1.1.6 結論 7
1.2 什麼是繼承 7
  1.2.1 引言 7
  1.2.2 基礎為上 7
  1.2.3 繼承本質論 9
  1.2.4 秘境追蹤 13
  1.2.5 規則制勝 16
  1.2.6 結論 17
1.3 封裝的秘密 17
  1.3.1 引言 17
  1.3.2 讓ATM告訴你,什麼是封裝 17
  1.3.3 秘密何處:欄位、屬性和方法 19
  1.3.4 封裝的意義 23
  1.3.5 封裝規則 23
  1.3.6 結論 24
1.4 多態的藝術 24
  1.4.1 引言 24
  1.4.2 問題的拋出 24
  1.4.3 最初的實現 25
  1.4.4 多態,救命的稻草 27
  1.4.5 隨需而變的業務 30
  1.4.6 多態的類型、本質和規則 31
  1.4.7 結論 33
1.5 玩轉介面 34
  1.5.1 引言 34
  1.5.2 什麼是介面 34
  1.5.3 .NET中的介面 35
  1.5.4 面向介面的編程 38
  1.5.5 介面之規則 40
  1.5.6 結論 40
參考文獻 40
第2章 OO大原則 41
2.1 OO原則綜述 42
  2.1.1 引言 42
  2.1.2 講述之前 42
  2.1.3 原則綜述 43
  2.1.4 學習建議 44
  2.1.5 結論 44
2.2 單一職責原則 44
  2.2.1 引言 44
  2.2.2 引經據典 45
  2.2.3 應用反思 45

  2.2.4 規則建議 47
  2.2.5 結論 48
2.3 開放封閉原則 48
  2.3.1 引言 48
  2.3.2 引經據典 48
  2.3.3 應用反思 49
  2.3.4 規則建議 52
  2.3.5 結論 53
2.4 依賴倒置原則 53
  2.4.1 引言 53
  2.4.2 引經據典 53
  2.4.3 應用反思 54
  2.4.4 規則建議 56
  2.4.5 結論 56
2.5 介面隔離原則 56
  2.5.1 引言 56
  2.5.2 引經據典 56
  2.5.3 應用反思 57
  2.5.4 規則建議 59
  2.5.5 結論 59
2.6 Liskov替換原則 59
  2.6.1 引言 59
  2.6.2 引經據典 59
  2.6.3 應用反思 60
  2.6.4 規則建議 61
  2.6.5 結論 62
參考文獻 62
第3章 OO之美 63
3.1 設計的分寸 64
  3.1.1 引言 64
  3.1.2 設計由何而來 64
  3.1.3 從此重構 65
  3.1.4 結論 67
3.2 依賴的哲學 67
  3.2.1 引言 67
  3.2.2 什麼是依賴,什麼是抽象 68
  3.2.3 重新回到依賴倒置 73
  3.2.4 解構控制反轉(IoC)和依賴注入
  3.2.4 (DI) 79
  3.2.5 典型的設計模式 82
  3.2.6 基於契約編程:SOA架構下的
  3.2.6 依賴 83
  3.2.7 對象創建的依賴 84
  3.2.8 不規則總結 87
  3.2.9 結論 87
3.3 模式的起點 87
  3.3.1 引言 87
  3.3.2 模式的起點 88
  3.3.3 模式的建議 90
  3.3.4 結論 91

  13.5.5 結論 466
13.6 江湖一統:WPF、WCF、WF 467
  13.6.1 引言 467
  13.6.2 WPF 467
  13.6.3 WCF 468
  13.6.4 WF 469
  13.6.5 結論 470
參考文獻 470
第14章 跟隨.NET 4.0腳步 472
14.1 .NET十年 473
  14.1.1 引言 473
  14.1.2 歷史腳步 473
  14.1.3 未來之變 477
  14.1.4 結論 479
14.2 .NET 4.0,第一眼 480
  14.2.1 引言 480
  14.2.2 第一眼 481
  14.2.3 結論 484
14.3 動態變革:dynamic 484
  14.3.1 引言 484
  14.3.2 初探 485
  14.3.3 本質:DLR 485
  14.3.4 PK解惑 488
  14.3.5 應用:動態編程 490
  14.3.6 結論 491
14.4 趨勢必行,並行計算 491
  14.4.1 引言 491
  14.4.2 擁抱並行 492
  14.4.3 TPL 493
  14.4.4 PLINQ 495
  14.4.5 並行補遺 496
  14.4.6 結論 497
14.5 命名參數和可選參數 497
  14.5.1 引言 497
  14.5.2 一覽究竟 498
  14.5.3 簡單應用 499
  14.5.4 結論 499
14.6 協變與逆變 500
  14.6.1 引言 500
  14.6.2 概念解析 500
  14.6.3 深入 502
  14.6.4 結論 504
14.7 Lazy<T>點滴 504
  14.7.1 引言 505
  14.7.2 延遲載入 505
  14.7.3 Lazy<T>登場 505
  14.7.4 Lazy<T>本質 507
  14.7.5 結論 509
14.8 Tuple一二 509
  14.8.1 引言 509

  14.8.2 Tuple為何物 510
  14.8.3 Tuple Inside 511
  14.8.4 優略之間 513
  14.8.5 結論 514
參考文獻 514
後記:我寫的不是代碼 516
編後記:遇見幸福 521

3.4 面向對象和基於對象 91
  3.4.1 引言 91
  3.4.2 基於對象 91
  3.4.3 二者的差別 91
  3.4.4 結論 92
3.5 也談.NET閉包 92
  3.5.1 引言 92
  3.5.2 什麼是閉包 92
  3.5.3 .NET也有閉包 93
  3.5.4 福利與問題 95
  3.5.5 結論 96
3.6 好代碼和壞代碼 96
  3.6.1 引言 96
  3.6.2 好代碼、壞代碼 97
  3.6.3 結論 105
參考文獻 105
第2部分 本質——.NET深入淺出
第4章 一切從IL開始 108
4.1 從Hello,world開始認識IL 109
  4.1.1 引言 109
  4.1.2 從Hello,world開始 109
  4.1.3 IL體驗中心 109
  4.1.4 結論 113
4.2 教你認識IL代碼——從基礎到工具 113
  4.2.1 引言 113
  4.2.2 使用工具 113
  4.2.3 為何而探索 115
  4.2.4 結論 116
4.3 教你認識IL代碼——IL語言基礎 116
  4.3.1 引言 116
  4.3.2 變數的聲明 116
  4.3.3 基本類型 117
  4.3.4 基本運算 118
  4.3.5 數據載入與保存 118
  4.3.6 流程式控制制 119
  4.3.7 結論 120
4.4 管窺元數據和IL 120
  4.4.1 引言 120
  4.4.2 初次接觸 120
  4.4.3 繼續深入 123
  4.4.4 元數據是什麼 125
  4.4.5 IL是什麼 128
  4.4.6 元數據和IL在JIT編譯時 130
  4.4.7 結論 134
4.5 經典指令解析之實例創建 134
  4.5.1 引言 134
  4.5.2 newobj和initobj 134
  4.5.3 ldstr 136
  4.5.4 newarr 137
  4.5.5 結論 139

4.6 經典指令解析之方法調度 140
  4.6.1 引言 140
  4.6.2 方法調度簡論:call、callvirt和
  4.6.2 calli 140
  4.6.3 直接調度 142
  4.6.4 間接調度 146
  4.6.5 動態調度 147
  4.6.6 結論 147
參考文獻 147
第5章 品味類型 148
5.1 品味類型——從通用類型系統開始 149
  5.1.1 引言 149
  5.1.2 基本概念 149
  5.1.3 位置與關係 150
  5.1.4 通用規則 151
  5.1.5 結論 152
5.2 品味類型——值類型與引用類型 152
  5.2.1 引言 152
  5.2.2 內存有理 152
  5.2.3 通用規則與比較 156
  5.2.4 對症下藥——應用場合與注意
  5.2.4 事項 158
  5.2.5 再論類型判等 159
  5.2.6 再論類型轉換 159
  5.2.7 以代碼剖析 160
  5.2.8 結論 167
5.3 參數之惑——傳遞的藝術 167
  5.3.1 引言 168
  5.3.2 參數基礎論 168
  5.3.3 傳遞的基礎 169
  5.3.4 深入討論,傳遞的藝術 170
  5.3.5 結論 174
5.4 皆有可能——裝箱與拆箱 175
  5.4.1 引言 175
  5.4.2 品讀概念 176
  5.4.3 原理分拆 176
  5.4.4 還是性能 179
  5.4.5 重在應用 180
  5.4.6 結論 182
參考文獻 182
第6章 內存天下 184
6.1 內存管理概要 185
  6.1.1 引言 185
  6.1.2 內存管理概觀要論 185
  6.1.3 結論 186
6.2 對象創建始末 186
  6.2.1 引言 187
  6.2.2 內存分配 187
  6.2.3 結論 193
6.3 垃圾回收 193

  6.3.1 引言 193
  6.3.2 垃圾回收 193
  6.3.3 非托管資源清理 197
  6.3.4 結論 204
6.4 性能優化的多方探討 204
  6.4.1 引言 204
  6.4.2 性能條款 204
  6.4.3 結論 210
參考文獻 211
第3部分 格局——.NET面面俱到
第7章 深入淺出——關鍵字的秘密 214
7.1 把new說透 215
  7.1.1 引言 215
  7.1.2 基本概念 215
  7.1.3 深入淺出 217
  7.1.4 結論 219
7.2 base和this 219
  7.2.1 引言 219
  7.2.2 基本概念 219
  7.2.3 深入淺出 220
  7.2.4 通用規則 224
  7.2.5 結論 224
7.3 using的多重身份 224
  7.3.1 引言 224
  7.3.2 引入命名空間 225
  7.3.3 創建別名 225
  7.3.4 強制資源清理 227
  7.3.5 結論 230
7.4 認識全面的null 230
  7.4.1 引言 230
  7.4.2 從什麼是null開始 230
  7.4.3 Nullable<T>(可空類型) 232
  7.4.4 ??運算符 234
  7.4.5 Nulll Object模式 235
  7.4.6 結論 238
7.5 轉換關鍵字 238
  7.5.1 引言 239
  7.5.2 自定義類型轉換探討 239
  7.5.3 本質分析 240
  7.5.4 結論 242
7.6 預處理指令關鍵字 242
  7.6.1 引言 242
  7.6.2 預處理指令簡述 242
  7.6.3 #if、#else、#elif、#endif 243
  7.6.4 #define、#undef 244
  7.6.5 #warning、#error 244
  7.6.6 #line 245
  7.6.7 結論 245
7.7 非主流關鍵字 245
  7.7.1 引言 245

  7.7.2 checked/unchecked 246
  7.7.3 yield 247
  7.7.4 lock 250
  7.7.5 unsafe 252
  7.7.6 sealed 253
  7.7.7 結論 254
參考文獻 254
第8章 巔峰對決——走出誤區 255
8.1 什麼才是不變:const和readonly 256
  8.1.1 引言 256
  8.1.2 從基礎到本質 257
  8.1.3 比較,還是規則 259
  8.1.4 進一步的探討 260
  8.1.5 結論 263
8.2 後來居上:class和struct 263
  8.2.1 引言 263
  8.2.2 基本概念 263
  8.2.3 相同點和不同點 264
  8.2.4 經典示例 265
  8.2.5 結論 268
8.3 歷史糾葛:特性和屬性 268
  8.3.1 引言 268
  8.3.2 概念引入 268
  8.3.3 通用規則 270
  8.3.4 特性的應用 271
  8.3.5 示例 273
  8.3.6 結論 277
8.4 面向抽象編程:介面和抽象類 277
  8.4.1 引言 277
  8.4.2 概念引入 277
  8.4.3 相同點和不同點 279
  8.4.4 經典示例 281
  8.4.5 他山之石 283
  8.4.6 結論 283
8.5 恩怨情仇:is和as 284
  8.5.1 引言 284
  8.5.2 概念引入 284
  8.5.3 原理與示例說明 284
  8.5.4 結論 285
8.6 貌合神離:覆寫和重載 286
  8.6.1 引言 286
  8.6.2 認識覆寫和重載 286
  8.6.3 在多態中的應用 288
  8.6.4 比較,還是規則 289
  8.6.5 進一步的探討 290
  8.6.6 結論 292
8.7 有深有淺的克隆:淺拷貝和深拷貝 292
  8.7.1 引言 292
  8.7.2 從對象克隆說起 292
  8.7.3 淺拷貝和深拷貝的實現 294

  8.7.4 結論 296
8.8 動靜之間:靜態和非靜態 296
  8.8.1 引言 296
  8.8.2 一言蔽之 297
  8.8.3 分而治之 297
  8.8.4 結論 302
8.9 集合通論 302
  8.9.1 引言 302
  8.9.2 中心思想——縱論集合 303
  8.9.3 各分秋色——.NET集合類大觀 307
  8.9.4 自我成全——實現自定義集合 314
  8.9.5 結論 317
參考文獻 317
第9章 本來面目——框架詮釋 318
9.1 萬物歸宗:System.Object 319
  9.1.1 引言 319
  9.1.2 初識 319
  9.1.3 分解 320
  9.1.4 插曲:消失的成員 323
  9.1.5 意義 325
  9.1.6 結論 325
9.2 規則而定:對象判等 325
  9.2.1 引言 326
  9.2.2 本質分析 326
  9.2.3 覆寫Equals方法 329
  9.2.4 與GetHashCode方法同步 331
  9.2.5 規則 332
  9.2.6 結論 332
9.3 疑而不惑:interface「繼承」爭議 332
  9.3.1 引言 332
  9.3.2 從面向對象尋找答案 333
  9.3.3 以IL探求究竟 334
  9.3.4 System.Object真是
  9.3.4 「萬物之宗」嗎 334
  9.3.5 介面的繼承爭議 335
  9.3.6 結論 335
9.4 給力細節:深入類型構造器 336
  9.4.1 引言:一個故事 336
  9.4.2 認識對象構造器和類型構造器 337
  9.4.3 深入執行過程 339
  9.4.4 回歸故事 341
  9.4.5 結論 342
9.5 如此特殊:大話String 342
  9.5.1 引言 342
  9.5.2 問題迷局 343
  9.5.3 什麼是string 345
  9.5.4 字元串創建 345
  9.5.5 字元串恆定性 346
  9.5.6 字元串駐留(String Interning) 346
  9.5.7 字元串操作典籍 350

  9.5.8 補充的禮物:StringBuilder 352
  9.5.9 結論 354
9.6 簡易不簡單:認識枚舉 354
  9.6.1 引言 355
  9.6.2 枚舉類型解析 355
  9.6.3 枚舉種種 358
  9.6.4 位枚舉 360
  9.6.5 規則與意義 361
  9.6.6 結論 361
9.7 一脈相承:委託、匿名方法和Lambda
  9.7 表達式 362
  9.7.1 引言 362
  9.7.2 解密委託 362
  9.7.3 委託和事件 365
  9.7.4 匿名方法 367
  9.7.5 Lambda表達式 368
  9.7.6 規則 368
  9.7.7 結論 369
9.8 Name這回事兒 369
  9.8.1 引言 369
  9.8.2 暢聊Name 369
  9.8.3 回到問題 371
  9.8.4 結論 371
9.9 直面異常 371
  9.9.1 引言 372
  9.9.2 為何而拋 372
  9.9.3 從try/catch/finally說起:解析異常
  9.9.3 機制 375
  9.9.4 .NET系統異常類 377
  9.9.5 定義自己的異常類 379
  9.9.6 異常法則 381
  9.9.7 結論 382
參考文獻 382
第10章 格局之選——命名空間剖析 383
10.1 基礎——.NET框架概覽 384
  10.1.1 引言 384
  10.1.2 框架概覽 384
  10.1.3 歷史變遷 385
  10.1.4 結論 387
10.2 布局——框架類庫研究 387
  10.2.1 引言 387
  10.2.2 為什麼了解 388
  10.2.3 框架類庫的格局 388
  10.2.4 一點補充 389
  10.2.5 結論 390
10.3 根基——System命名空間 391
  10.3.1 引言 391
  10.3.2 從基礎類型說起 391
  10.3.3 基本服務 392
  10.3.4 結論 394

10.4 核心——System次級命名空間 394
  10.4.1 引言 394
  10.4.2 System.IO 395
  10.4.3 System. Diagnostics 396
  10.4.4 System.Runtime.Serialization和
  10.4.4 System.Xml.Serialization 397
  10.4.5 結論 399
參考文獻 399
第4部分 拾遺——.NET也有春天
第11章 接觸泛型 402
11.1 追溯泛型 403
  11.1.1 引言 403
  11.1.2 推進思維,為什麼泛型 403
  11.1.3 解析泛型——運行時本質 405
  11.1.4 結論 406
11.2 了解泛型 406
  11.2.1 引言 406
  11.2.2 領略泛型——基礎概要 406
  11.2.3 典型.NET泛型類 409
  11.2.4 基礎規則 410
  11.2.5 結論 411
11.3 深入泛型 411
  11.3.1 引言 411
  11.3.2 泛型方法 411
  11.3.3 泛型介面 413
  11.3.4 泛型委託 415
  11.3.5 結論 415
11.4 實踐泛型 416
  11.4.1 引言 416
  11.4.2 最佳實踐 416
  11.4.3 結論 421
參考文獻 421
第12章 如此安全性 422
12.1 怎麼樣才算是安全 423
  12.1.1 引言 423
  12.1.2 怎麼樣才算安全 423
  12.1.3 .NET安全模型 423
  12.1.4 結論 424
12.2 代碼訪問安全 424
  12.2.1 引言 424
  12.2.2 證據(Evidence) 425
  12.2.3 許可權(Permission)和許可權集 426
  12.2.4 代碼組(Code Group) 428
  12.2.5 安全策略(Security Policy) 428
  12.2.6 規則總結 429
  12.2.7 結論 430
12.3 基於角色的安全 430
  12.3.1 引言 430
  12.3.2 Principal(主體) 430
  12.3.3 Identity(標識) 431

  12.3.4 PrincipalPermission 432
  12.3.5 應用示例 432
  12.3.6 結論 433
參考文獻 433
第5部分 未來——.NET技術展望
第13章 走向.NET 3.0/3.5變革 436
13.1 品讀新特性 437
  13.1.1 引言 437
  13.1.2 .NET新紀元 437
  13.1.3 程序語言新特性 438
  13.1.4 WPF、WCF、WF 438
  13.1.5 Visual Studio 2008體驗 439
  13.1.6 其他 439
  13.1.7 結論 439
13.2 賞析C# 3.0 439
  13.2.1 引言 440
  13.2.2 對象初始化器
  13.2.2 (Object Initializers) 440
  13.2.3 集合初始化器
  13.2.3 (Collection Initializers) 441
  13.2.4 自動屬性
  13.2.4 (Automatic Properties) 442
  13.2.5 隱式類型變數(Implicitly Typed
  13.2.5 Local Variables)和 隱式類型數組
  13.2.5 (Implicitly Typed Array) 444
  13.2.6 匿名類型(Anonymous Type) 445
  13.2.7 擴展方法
  13.2.7 (Extension Methods) 446
  13.2.8 查詢表達式
  13.2.8 (Query Expressions) 448
  13.2.9 結論 448
13.3 LINQ體驗 449
  13.3.1 引言 449
  13.3.2 LINQ概覽 449
  13.3.3 查詢操作符 451
  13.3.4 LINQ to XML示例 451
  13.3.5 規則 453
  13.3.6 結論 453
13.4 LINQ江湖 453
  13.4.1 引言 453
  13.4.2 演義 453
  13.4.3 基於LINQ的零代碼數據訪問
  13.4.3 層實現 459
  13.4.4 LINQ to Provider 462
  13.4.5 結論 463
13.5 搶鮮Visual Studio 2008 463
  13.5.1 引言 463
  13.5.2 Visual Studio 2008概覽 464
  13.5.3 新特性簡介 465
  13.5.4 開發示例 465

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032