注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計.NET框架設(shè)計

框架設(shè)計

框架設(shè)計

定 價:¥68.00

作 者: (美)瑞奇特
出版社: 清華大學(xué)出版社
叢編項: CLR Via C#/微軟技術(shù)叢書
標(biāo) 簽: C#

ISBN: 9787302140160 出版時間: 2006-11-01 包裝: 平裝
開本: 16 頁數(shù): 542 字?jǐn)?shù):  

內(nèi)容簡介

  作為深受編程人員愛戴和尊敬的編程專家,微軟.NET開發(fā)團隊的顧問,本書作者Jeffrey Richter針對開發(fā)各種應(yīng)用程序(如Web Form、Windows Form和Web服務(wù)、Microsoft SQL Server解決方案、控制臺應(yīng)用程序、NT Service)的開發(fā)人員,深入揭示了公共語言運行庫(CLR)和.NET Framework.,演示了如何將這些知識應(yīng)用到實際開發(fā)。全書分5部分,共24章。第1部分講述CLR基礎(chǔ),第11部分介紹類型的使用,第III部分說明類型的設(shè)計,第Ⅳ部分介紹基本類型,第V部分講述CLR實用特性。.通過本書的閱讀,讀者可以掌握CLR精髓,輕松、高效地創(chuàng)建高性能應(yīng)用程序。在經(jīng)典暢銷書《Microsoft .NET框架程序設(shè)計》的最新版中,深入剖析了.NET Framework和CLR 2.0的內(nèi)部機制。Jeffrey是深受愛戴的編程專家,同時也是Microsoft .NET開發(fā)團隊的顧問。本書是他多年開發(fā)和咨詢經(jīng)驗的結(jié)晶,是開發(fā)人員開發(fā)任何一類應(yīng)用程序(包括ASP.NET、Windows窗體、Microsoft SQL Server,Web服務(wù)和控制臺應(yīng)用程序)的理想?yún)⒖?。通過本書提供的動手指導(dǎo)和豐富的C#范例代碼,開發(fā)人員可掌握難解的主題,開發(fā)出高性能的應(yīng)用程序。本書特色主題:..· 構(gòu)建、部署、管理應(yīng)用程序、組件和共享程序集并對其進(jìn)行版本控制· 用常量、字段、構(gòu)造函數(shù)、方法、屬性和事件來設(shè)計類型· 高效使用CLR的特殊類型,如枚舉器、數(shù)組和字符串等· 聲明、創(chuàng)建和使用委托來揭示回調(diào)函數(shù)· 用接口和泛型來定義和部署可重用的算法· 定義、使用和檢測自定義屬性· 使用異常處理來構(gòu)建健壯、穩(wěn)定、安全性更強的組件· 用垃圾收集機制自動管理內(nèi)存,并使用本地資源· 應(yīng)用CLR宿主、應(yīng)用程序域、程序集加載和反射,構(gòu)建動態(tài)可擴展的應(yīng)用程序。...

作者簡介

  Jeffrey RichterJeffrey Richter是一位在全球享有盛譽的技術(shù)作家,尤其在Windows/.NET領(lǐng)域有著杰出的貢獻(xiàn)。他的第一本W(wǎng)indows著作Windows 3: A Developer's Guide大獲好評,從而聲名遠(yuǎn)揚。之后,他又推出了經(jīng)典著作《Windows 高級編程指南》和《Windows核心編程》。如今這兩本書早已成為Windows程序設(shè)計領(lǐng)域的顛峰之作,培育了幾代軟件開發(fā)設(shè)計人員。他的每一本新作問世,我們都有理由相信這是一本巨著,我們想要的一切盡在其中。Jeffery 是Wintellect公司的創(chuàng)始人之一,也是MSDN雜志.NET專欄的特邀...

圖書目錄

第Ⅰ部分  CLR基礎(chǔ)
第1章  CLR的執(zhí)行模型    3
1.1  將源代碼編譯成托管模塊    3
1.2  將托管模塊合并成程序集    6
1.3  加載公共語言運行庫    7
1.4  執(zhí)行程序集的代碼    9
1.4.1  IL和驗證    14
1.4.2  不安全的代碼    15
1.5  本地代碼生成器:NGen.exe16
1.6  Framework類庫入門    18
1.7  通用類型系統(tǒng)    20
1.8  公共語言規(guī)范(CLS)    22
1.9  與非托管代碼的互操作性    26
第2章  生成、打包、部署和管理
應(yīng)用程序及類型    28
2.1  .NET Framework部署目標(biāo)    28
2.2  將類型集成到模塊中    29
2.3  元數(shù)據(jù)概述    32
2.4  合并模塊以構(gòu)成一個程序集    38
2.4.1  使用Visual Studio IDE在項目
中添加程序集    43
2.4.2  使用程序集鏈接器    44
2.4.3  在程序集中包含
資源文件    45
2.5  程序集版本資源信息    46
2.6  語言文化    49
2.7  簡單應(yīng)用程序部署
(私有部署的程序集)    50
2.8  簡單管理控制(配置)    51
第3章  共享程序集和
強命名程序集    54
3.1  兩種程序集,兩種部署    55
3.2  為程序集指派強名稱    56
3.3  全局程序集緩存    61
3.4  在生成的程序集中引用
一個強命名程序集    66
3.5  強命名程序集能防范篡改    67
3.6  延遲簽名    68
3.7  私有部署強命名程序集    70
3.8  運行庫如何解析類型引用    71
3.9  高級管理控制(配置)    73
第Ⅱ部分  類型的使用
第4章  類型基礎(chǔ)    81
4.1  所有類型都是從
System.Object派生的    81
4.2  強制類型轉(zhuǎn)換    83
4.3  命名空間和程序集    86
4.4  運行時的相互關(guān)系    90
第5章  基元、引用和值類型    98
5.1  編程語言的基元類型    98
5.2  引用類型和值類型    103
5.3  值類型的裝箱和拆箱    108
5.4  使用接口更改已裝箱值類型中的字段
(以及為什么不應(yīng)該這樣做)    118
5.5  對象相等性和身份標(biāo)識    120
5.6  對象哈希碼    123
第Ⅲ部分  類型的設(shè)計
第6章  類型和成員基礎(chǔ)    127
6.1  類型成員的種類    127
6.2  類型的可見性    130
6.3  成員的可訪問性    131
6.4  靜態(tài)類    133
6.5  部分類、結(jié)構(gòu)和接口    134
6.6  組件、多態(tài)和版本控制    135
6.6.1  CLR如何調(diào)用虛方法、
屬性和事件    137
6.6.2  巧妙使用類型的可見性和
成員的可訪問性    140
6.6.3  類型版本控制過程中虛
方法的處理    143
第7章  常量和字段    147
7.1  常量    147
7.2  字段    148
第8章  方法:構(gòu)造器、操作符、
轉(zhuǎn)換操作符 和參數(shù)    151
8.1  實例構(gòu)造器和類(引用類型)151
8.2  實例構(gòu)造器和結(jié)構(gòu)(值類型)154
8.3  類型構(gòu)造器    156
8.4  操作符重載    161
8.5  轉(zhuǎn)換操作符方法    164
8.6  通過引用向方法傳遞參數(shù)    167
8.7  向方法傳遞可變數(shù)量的參數(shù)    172
8.8  聲明方法的參數(shù)類型    174
8.9  常量方法和參數(shù)    175
第9章  屬性    176
9.1  無參屬性    176
9.2  有參屬性    180
9.3  調(diào)用屬性訪問器方法的性能    184
9.4  屬性訪問器的可訪問性    185
9.5  泛型屬性訪問器方法    185
第10章  事件    186
10.1  設(shè)計一個對外提供事件的類型    187
10.1.1  第一步:定義一個類型用于存放所有需要發(fā)送給事件通知接收者的附加信息187
10.1.2  第二步:定義事件成員    188
10.1.3  第三步:定義一個負(fù)責(zé)
引發(fā)事件的方法來通知已
訂閱事件的對象事件已經(jīng)發(fā)生    189
10.1.4  第四步:定義一個方法,
將輸入轉(zhuǎn)化為期望事件    190
10.2  如何實現(xiàn)事件    190
10.3  設(shè)計一個監(jiān)聽事件的類型    192
10.4  事件與線程安全    193
10.5  顯式控制事件的訂閱與注銷194
10.6  設(shè)計一個定義多個事件的類型196
第Ⅳ部分  基本類型
第11章  字符、字符串和文本    201
11.1  字符    201
11.2  System.String類型    204
11.2.1  構(gòu)造字符串    204
11.2.2  字符串是不可變的    206
11.2.3  比較字符串    206
11.2.4  字符串留用    212
11.2.5  字符串池    214
11.2.6  檢查字符串的字符
和文本元素    214
11.2.7  其他字符串操作    216
11.3  高效率地動態(tài)構(gòu)造一個字符串    217
11.3.1  構(gòu)造一個
StringBuilder對象    217
11.3.2  StringBuilder的成員    218
11.4  獲取對象的字符串表示    220
11.4.1  特定的格式和語言    220
11.4.2  將多個對象格式化
成單個字符串    224
11.4.3  提供定制格式化器    225
11.5  解析字符串來獲取一個對象    227
11.6  編碼:在字符和字節(jié)之間轉(zhuǎn)換    229
11.6.1  字符和字節(jié)流的
編碼/解碼    234
11.6.2  Base-64字符串編碼
和解碼    235
11.7  安全字符串    236
第12章  枚舉類型和位標(biāo)志    239
12.1  枚舉類型    239
12.2  位標(biāo)志    244
第13章  數(shù)組    247
13.1  數(shù)組的類型轉(zhuǎn)換    249
13.2  所有數(shù)組都隱式繼承自
System.Array    251
13.3  所有數(shù)組都隱式實現(xiàn)IEnumerable,
ICollection和Ilist    252
13.4  數(shù)組的傳遞與返回    253
13.5  創(chuàng)建下界非0的數(shù)組    253
13.6  數(shù)組訪問性能    254
13.7  非安全數(shù)組訪問和
固定長度數(shù)組    258
第14章  接口    261
14.1  類和接口的繼承    261
14.2  定義接口    262
14.3  接口的繼承    263
14.4  調(diào)用接口方法詳解    265
14.5  接口方法的隱式和顯式實現(xiàn)
(幕后細(xì)節(jié))    266
14.6  泛型接口    267
14.7  泛型接口和接口約束    269
14.8  實現(xiàn)具有相同方法名和簽名的
多個接口    270
14.9  用顯式接口方法實現(xiàn)改進(jìn)編譯時
類型安全    271
14.10  謹(jǐn)慎使用顯式接口方法實現(xiàn)    272
14.11  設(shè)計:基類還是接口    275
第15章  委托    277
15.1  初識委托    277
15.2  使用委托來回調(diào)靜態(tài)方法    279
15.3  使用委托回調(diào)實例方法    280
15.4  委托揭秘    281
15.5  使用委托回調(diào)多個方法(鏈?zhǔn)?    285
15.6  C#對委托鏈的支持    288
15.7  對委托鏈調(diào)用進(jìn)行更多控制    289
15.8  C#為委托提供的語法便利    291
15.8.1  語法快捷方式1:
不需要構(gòu)造委托對象    291
15.8.2  語法快捷方式2:
不需要定義回調(diào)方法    292
15.8.3  語法快捷方式3:
不需要指定回調(diào)方法
的參數(shù)    293
15.8.4  語法快捷方式4:
不需要將局部變量人工封裝
到類中,即可將它們
傳給一個回調(diào)方法    294
15.9  委托和反射    296
第16章  泛型    300
16.1  FCL中的泛型    304
16.2  Wintellect的Power Collections庫    305
16.3  泛型基礎(chǔ)結(jié)構(gòu)    306
16.3.1  開放和封閉式類型    307
16.3.2  泛型類型和繼承    308
16.3.3  泛型類型同一性    310
16.3.4  代碼爆炸    311
16.4  泛型接口    311
16.5  泛型委托    312
16.6  泛型方法    313
16.7  泛型和其他成員    315
16.8  可驗證性和限制    315
16.8.1  主要約束    317
16.8.2  次要約束    318
16.8.3  構(gòu)造器約束    319
16.8.4  其他可驗證性問題    320
第17章  自定義屬性    323
17.1  使用自定義屬性    324
17.2  定義自己的屬性    327
17.3  屬性構(gòu)造器和Field/Property
數(shù)據(jù)類型    330
17.4  檢測自定義屬性的使用    331
17.5  兩個屬性實例的相互匹配    334
17.6  檢測自定義屬性的使用,同時
不創(chuàng)建Attribute派生對象    337
17.7  條件屬性類    339
第18章  可空值類型    341
18.1  C#對可空值類型的支持    342
18.2  C#的空接合操作符    344
18.3  CLR對可空值類型的特殊支持344
18.3.1  對可空值類型進(jìn)行裝箱    344
18.3.2  對可空值類型進(jìn)行拆箱    345
18.3.3  通過可空值類型來
調(diào)用GetType    346
18.3.4  通過可空值類型
調(diào)用接口方法    346
第Ⅴ部分  CLR實用特性
第19章  異常    349
19.1  異常處理的演變    350
19.2  異常處理機制    351
19.2.1  try塊    352
19.2.2  catch塊    352
19.2.3  finally塊    354
19.3  符合公共語言規(guī)范(CLS)的異常與
不符合CLS的異常    354
19.4  異常的準(zhǔn)確定義    356
19.5  System.Exception類    358
19.6  FCL中預(yù)定義的異常類    359
19.7  拋出異常    361
19.8  定義自己的異常類    361
19.9  如何正確地使用異常    364
19.9.1  驗證方法的參數(shù)    364
19.9.2  合理使用finally塊    367
19.9.3  避免捕獲所有的異常    368
19.9.4  從異常中順利恢復(fù)    369
19.9.5  當(dāng)異常無法修復(fù)時,
回滾局部完成的操作    369
19.9.6  隱藏實現(xiàn)細(xì)節(jié),
維持“約定”    370
19.10  性能考慮    372
19.11  未處理異常    374
19.12  異常堆棧跟蹤    376
19.13  調(diào)試異常    378
第20章  自動內(nèi)存管理(垃圾收集)    380
20.1  理解垃圾收集平臺的
基本工作原理    380
20.2  垃圾收集算法    383
20.3  垃圾收集與調(diào)試    387
20.4  使用終結(jié)操作來釋放本地資源    389
20.4.1  確保終結(jié)操作使用
CriticalFinalizerObject
類型    390
20.4.2  SafeHandle類型及其
派生類型    391
20.4.3  使用SafeHandle類型實現(xiàn)
非托管代碼之間的
互操作    393
20.5  對托管資源使用終結(jié)操作    395
20.6  哪些事件會導(dǎo)致Finalize
方法的調(diào)用    397
20.7  終結(jié)操作內(nèi)部揭秘    398
20.8  釋放模式:強制對象清理資源    401
20.9  使用實現(xiàn)了釋放模式的類型    404
20.10  C#的using語句    407
20.11  一個有趣的依賴問題    409
20.12  人工監(jiān)視和控制對象的生存期    410
20.13  對象復(fù)蘇    417
20.14  對象的代    418
20.15  使用本地資源的其他
垃圾收集特性    423
20.16  預(yù)測需求較多內(nèi)存的操作
能否成功    426
20.17  編程控制垃圾收集器    427
20.18  與垃圾收集器性能相關(guān)的
其他一些話題    430
20.18.1  免同步的多線程分配    431
20.18.2  可擴展并行收集    431
20.18.3  并發(fā)收集    431
20.18.4  大尺寸對象    432
20.19  監(jiān)視垃圾收集    433
第21章  CLR寄宿和應(yīng)用程序域    435
21.1  CLR寄宿    435
21.2  應(yīng)用程序域    438
21.3  應(yīng)用程序域的卸載    450
21.4  宿主如何使用應(yīng)用程序域    451
21.4.1  控制臺和Windows窗體
應(yīng)用程序    451
21.4.2  Microsoft Internet
Explorer    452
21.4.3  Microsoft ASP.NET Web
窗體和XML Web服務(wù)
應(yīng)用程序    452
21.4.4  Microsoft SQL Server
2005    453
21.4.5  預(yù)測與展望    453
21.5  高級宿主控制    453
21.5.1  使用托管代碼管理CLR    453
21.5.2  編寫健壯的宿主
應(yīng)用程序    454
21.5.3  宿主如何恢復(fù)線程    455
第22章  程序集的加載與反射    459
22.1  程序集的加載    459
22.2  使用反射構(gòu)建動態(tài)可擴展
應(yīng)用程序    463
22.3  反射的性能    463
22.3.1  發(fā)現(xiàn)程序集中定義
的類型    464
22.3.2  類型對象的準(zhǔn)確含義    465
22.3.3  構(gòu)建派生自Exception
的類型的層次結(jié)構(gòu)    467
22.3.4  構(gòu)建類型的實例    468
22.4  設(shè)計支持插件的應(yīng)用程序    470
22.5  使用反射發(fā)現(xiàn)類型的成員    473
22.5.1  發(fā)現(xiàn)類型成員    473
22.5.2  BindingFlags:篩選返回
成員的類型    477
22.5.3  發(fā)現(xiàn)類型的接口    478
22.5.4  調(diào)用類型的成員    480
22.5.5  一次綁定、多次調(diào)用    483
22.5.6  使用綁定句柄來
減小工作集    487
第23章  執(zhí)行異步操作    490
23.1  CLR如何使用Windows線程    490
23.2  高效線程使用圣典    491
23.3  CLR線程池簡介    493
23.4  限制線程池中線程的數(shù)量    494
23.5  使用線程池執(zhí)行受計算限制
的異步操作    495
23.6  使用專用線程執(zhí)行受計算限制
的異步操作    497
23.7  定期執(zhí)行受計算限制的異步操作    499
三個定時器的史話    500
23.8  異步編程模型簡介    501
23.9  使用APM執(zhí)行受I/O限制
的異步操作    502
23.10  APM的三個聚集技巧    504
23.10.1  APM的等待直至
完成聚集技巧    504
23.10.2  APM的輪詢聚集技巧    506
23.10.3  APM的方法回調(diào)聚
集技巧    508
23.11  使用APM執(zhí)行受計算限制
的異步操作    512
23.12  APM與異常    514
23.13  對APM的重要說明    514
23.14  執(zhí)行上下文    516
第24章  線程同步    519
24.1  內(nèi)存一致性、易失內(nèi)存訪問
與易失字段    520
24.1.1  易失讀取和寫入    522
24.1.2  C#對易失字段的支持    524
24.2  互鎖方法    526
24.3  Monitor類與同步塊    527
24.3.1  “偉大想法”    527
24.3.2  “偉大想法”的實現(xiàn)    528
24.3.3  使用Monitor類管理
同步塊    529
24.3.4  Microsoft最初計劃
的同步方式    530
24.3.5  使用C#的lock語句
簡化代碼    531
24.3.6  Microsoft最初計劃
同步靜態(tài)成員的方式    532
24.3.7  為什么“偉大想法”
思想毫無偉大之處    533
24.3.8  著名的雙檢鎖技巧    535
24.4  ReaderWriterLock類    537
24.5  使用托管代碼中的Windows
內(nèi)核對象    538

本目錄推薦

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