修煉之道:.NET開發要點精講

修煉之道:.NET開發要點精講

《修煉之道:.NET開發要點精講》是2015年清華大學出版社出版的關於軟體架構的圖書,作者是周見智、博圖軒。

基本介紹

  • 書名:修煉之道:.NET開發要點精講
  • 作者:周見智 博圖軒
  • ISBN:9787302393306
  • 定價:49元
  • 出版社:清華大學出版社 
  • 裝幀平裝
  • 印次:1-1
  • 印刷日期:2015-4-20
圖書簡介,目錄,

圖書簡介

全書分為基礎篇和設計篇兩大部分。在基礎篇,解釋了“原子操作”、“阻塞方法與非阻塞方法”、“框架與庫”、“調用與回調”等術語,重點闡述.NET開發的三大基礎知識點:數據類型、對象的生命期以及委託與事件。在設計篇,主要講解“泵”結構在一些主流框架中的套用,以及它在Socket網路編程、Web伺服器開發等實際項目中起到的關鍵作用;並從軟體設計模式、軟體設計原則以及代碼依賴3個方面,對軟體架構進行了深入淺出的闡釋。

目錄

第1章另闢蹊徑:解讀.NET 1
1.1前.NET時代 2
1.2.NET的組成 3
1.2.1.NET中的語言 4
1.2.2.NET中的框架庫 5
1.2.3公共類型系統 5
1.2.4公共語言規範 5
1.2.5公共語言運行時 6
1.2.6.NET程式的運行流程 7
1.3.NET中的程式集 8
1.3.1程式集與EXE檔案的區別 8
1.3.2程式集的組成 9
1.3.3程式集的特點 10
1.4.NET的跨平台 10
1.4.1WriteOnce,RunAnywhere的真實現狀 10
1.4.2.NET與Java平台出現的目的 11
1.4.3重新看待.NET 12
1.5.NET平台出現的意義 12
1.6本章回顧 14
1.7本章思考 14
第2章高屋建瓴:梳理編程約定 15
2.1代碼中的Client與Server 16
2.2方法與執行緒的關係 17
2.3調用執行緒與當前執行緒 19
2.4阻塞方法與非阻塞方法 20
2.5UI執行緒與執行緒 21
2.6原子操作 22
2.7執行緒安全 22
2.8調用與回調 26
2.9託管資源與非託管資源 27
2.10框架與庫 28
2.11面向(或基於)對象與面向(或基於)組件 29
2.12接口 30
2.13協定 32
2.14本章回顧 36
2.15本章思考 36
第3章編程之基礎:數據類型 37
3.1引用類型與值類型 38
3.1.1記憶體分配 39
3.1.2位元組序 41
3.1.3裝箱與拆箱 42
3.2對象相等判斷 43
3.2.1引用類型判等 43
3.2.2簡單值類型判等 44
3.2.3複合值類型判等 45
3.3賦值與複製 48
3.3.1引用類型賦值 48
3.3.2值類型賦值 49
3.3.3傳參 50
3.3.4淺複製 53
3.3.5深複製 55
3.4對象的不可改變性 59
3.4.1不可改變性定義 59
3.4.2定義不可改變類型 60
3.5本章回顧 62
3.6本章思考 62
第4章物以類聚:對象也有生命 65
4.1堆和棧 66
4.2堆中對象的出生與死亡 69
4.2.1引用和實例 69
4.2.2析構方法 71
4.2.3正確使用對象 73
4.3管理非託管資源 75
4.3.1釋放非託管資源的最佳時間 75
4.3.2繼承與組合中的非託管資源 77
4.4正確使用IDisposable接口 82
4.4.1Dispose模式 83
4.4.2對象的Dispose()和Close() 87
4.5本章回顧 88
4.6本章思考 88
第5章重中之重:委託與事件 91
5.1什麼是.NET中的委託 92
5.1.1委託的結構 92
5.1.2委託鍊表 95
5.1.3委託的“不可改變”特性 101
5.1.4委託的作用 103
5.2事件與委託的關係 105
5.3使用事件編程 107
5.3.1註銷跟註冊事件同樣重要 107
5.3.2多執行緒中使用事件 107
5.3.3委託鍊表的分步調用 109
5.3.4正確定義一個使用了事件的類 111
5.4弱委託 116
5.4.1強引用與弱引用 116
5.4.2弱委託的定義 119
5.4.3弱委託的使用場合 121
5.5本章回顧 121
5.6本章思考 122
第6章執行緒的升級:異步編程模型 123
6.1異步編程的必要性 124
6.1.1同步調用與異步調用 124
6.1.2異步調用的優點 125
6.2委託的異步調用 126
6.2.1BeginInvoke與EndInvoke 126
6.2.2AsyncCallback 128
6.2.3處理異步調用時的異常 131
6.2.4異步調用的套用 132
6.3非委託的異步調用 134
6.3.1異步方法 134
6.3.2FileStream.BeginRead/FileStream.BeginWrite 136
6.4異步編程時的注意事項 137
6.5本章回顧 138
6.6本章思考 138
第7章可復用代碼:組件的來龍去脈 141
7.1.NET中的組件 142
7.1.1組件的定義 142
7.1.2WindowsForms中的組件 142
7.1.3WindowsForms中的控制項 143
7.2容器-組件-服務模型 144
7.2.1容器的另類定義 144
7.2.2容器與組件的合作 145
7.2.3窗體設計器 150
7.3設計時與運行時 154
7.3.1組件的設計時與運行時 154
7.3.2區分組件的當前狀態 155
7.3.3組件狀態的套用 157
7.4控制項 157
7.4.1控制項基類 157
7.4.2用戶自定義控制項 158
7.5本章回顧 160
7.6本章思考 160
第8章經典重視:桌面GUI框架揭秘 163
8.1了解傳統Win32應用程式的必要性 164
8.2Win32應用程式的結構 165
8.2.1運行平台決定程式結構 165
8.2.2Windows訊息循環 167
8.2.3視窗過程 169
8.2.4創建基於Win32的單窗體應用程式 171
8.2.5創建基於Win32的多窗體應用程式 178
8.3.NETWinform程式與傳統Win32程式的關聯 184
8.4WindowsForms框架 184
8.5Winform程式的結構 187
8.5.1UI執行緒 188
8.5.2訊息循環 189
8.5.3創建窗體 195
8.5.4視窗過程 197
8.6模式窗體與非模式窗體 200
8.7本章回顧 205
8.8本章思考 205
第9章溝通無礙:網路編程 207
9.1兩種Socket通信方式 208
9.1.1IP與連線埠 208
9.1.2基於連線的TCP通信 209
9.1.3基於無連線的UDP通信 211
9.1.4套用層協定 212
9.1.5.NET中Socket編程的
相關類型 215
9.2TCP通信的實現 217
9.2.1定義TCP通信套用層協定 218
9.2.2編寫TCP通信服務端 219
9.2.3編寫TCP通信客戶端 225
9.3UDP通信的實現 227
9.3.1定義UDP通信套用層協定 228
9.3.2編寫UDP通信客戶端 229
9.4異步編程在網路編程中的套用 235
9.4.1異步傳送數據 237
9.4.2異步實現“泵”結構 238
9.5本章回顧 241
9.6本章思考 241
第10章動力之源:
代碼中的“泵” 243
10.1“泵”的概念 244
10.1.1現實生活中的“泵” 244
10.1.2代碼中的“泵” 245
10.1.3代碼中“泵”的作用 247
10.2常見的“泵”結構 249
10.2.1桌面GUI框架中的“泵” 249
10.2.2Socket通信中的“泵” 250
10.2.3Web伺服器中的“泵” 251
10.3“泵”對框架的意義 258
10.3.1重新回到框架定義 258
10.3.2框架離不開“泵” 258
10.4本章回顧 259
10.5本章思考 259
第11章規繩矩墨:模式與原則 261
11.1軟體的設計模式 262
11.1.1觀察者模式 262
11.1.2WindowsForms中的觀察者模式 265
11.1.3設計模式分類 267
11.2軟體的設計原則 267
11.2.1SOLID原則概述 267
11.2.2單一職責原則 268
11.2.3開閉原則 270
11.2.4里氏替換原則 272
11.2.5接口隔離原則 275
11.2.6依賴倒置原則 276
11.3設計模式與設計原則對框架的意義 278
11.4本章回顧 279
11.5本章思考 279
第12章難免的尷尬:代碼依賴 281
12.1從面向對象開始 282
12.1.1對象基礎:封裝 282
12.1.2對象擴展:繼承 286
12.1.3對象行為:多態 289
12.2不可避免的代碼依賴 292
12.2.1依賴存在的原因 292
12.2.2耦合與內聚 294
12.2.3依賴造成的“尷尬” 295
12.3降低代碼依賴 297
12.3.1認識“抽象”與“具體” 297
12.3.2再看“依賴倒置原則” 299
12.3.3依賴注入 302
12.4框架的“代碼依賴” 305
12.4.1控制轉換 305
12.4.2依賴注入對框架的意義 306
12.5本章回顧 306
12.6本章思考 306

熱門詞條

聯絡我們