-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
像C#高手一樣編程 版權信息
- ISBN:9787512436886
- 條形碼:9787512436886 ; 978-7-5124-3688-6
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
像C#高手一樣編程 內容簡介
如果你已經精通一些類似于Go、C、JavaScript、Python或其他一些主流編程語言,通過認真學習本書內容,你將能夠編寫完整、地道的C#代碼,如果你已經使用過C#,本書將會“提升”你的C#技能。 無論你是在構建面向用戶的業務應用程序,還是在編寫數據密集型的后端服務,本書中基于經驗的實用技術都將把你的C#技能提升到一個新的水平。 本書將教你如何編寫適合企業應用程序的、簡潔的C#代碼。在本書中,你將應用新的C#技術重構舊的代碼庫,你還將探索Entity Framework Core等工具,學習依賴項注入等技術,測試代碼等實際應用。 主要知識點 單元測試和測試驅動開發 重構代碼庫 代碼簡潔之道 使用LINQ和Entity Framework Core查詢和操作數據庫
像C#高手一樣編程 目錄
第1部分使用C#和 .NET第1章C#和.NET相關概念及使用說明3
1.1 C#的優勢4
1.1.1 C#的經濟性5
1.1.2 C#的可維護性5
1.1.3C#的易于操作性6
1.2為什么有時不使用C#7
1.2.1操作系統開發7
1.2.2嵌入式開發7
1.2.3數值計算8
1.3C#使用入門8
1.4本書涉及C#的主要內容10
1.5本書不涉及的C#的內容11
1.6總結12
第2章.NET及其編譯13
2.1.NET框架14
2.2.NET514
2.3兼容CLI的語言的編譯15
2.3.1C#代碼(高級語言)的編譯17
2.3.2通用中間語言(匯編層)的編譯19
2.3.3本地代碼(處理器層)的處理26
2.4練習27
2.5總結28
第2部分現有代碼庫第3章這個代碼有多糟糕33
3.1飛翔荷蘭人航空公司簡介34
3.2應用代碼庫的基本要求35
3.2.1映射對象關系35
3.2.2GET/flight 終端地址——檢索所有航班的信息36
3.2.3GET/flight/ 終端地址——獲取特定航班信息37
3.2.4POST/booking/終端地址——預定航班38
3.3保存部分現有代碼40
3.3.1評估現有數據庫架構及數據表40
3.3.2現有代碼庫的網絡服務配置文件41
3.3.3查看現有代碼庫中的模型和視圖47
3.4總結54
第4章非托管資源管理55
4.1FlightController——GET/flight56
4.1.1GET/flight終端地址以及它的功能56
4.1.2方法簽名——響應類型的含義和typeof58
4.1.3使用集合收集航班信息60
4.1.4使用連接字符串的弊端61
4.1.5使用IDisposable釋放托管資源61
4.1.6使用SqlCommand查詢數據庫63
4.2FlightController: GET/flight/{flightNumber}66
4.3FlightController: POST/flight69
4.4The FlightController: DELETE/flight/{flightNumber}74
4.5練習75
4.6總結76
目錄像C#高手一樣編程第3部分數據庫訪問層第5章使用Entity Framework Core設置項目和數據庫79
5.1創建.NET5解決方案和項目80
5.2設置和配置網絡服務84
5.2.1配置一個.NET5網絡服務84
5.2.2創建和使用HostBuilder86
5.2.3創建Startup文件89
5.2.4使用存儲/服務模式作為網絡服務架構92
5.3構建數據庫訪問層93
5.3.1Entity Framework Core和逆向94
5.3.2DbSet和Entity Framework Core工作流程96
5.3.3配置方法和環境變量97
5.3.4Windows中環境變量設置98
5.3.5macOS中環境變量設置99
5.3.6通過代碼檢索運行環境變量99
5.4練習102
5.5總結103
第4部分存儲層第6章測試驅動開發和依賴注入107
6.1測試驅動開發108
6.2CreateCustomer方法112
6.2.1驗證輸入參數113
6.2.2使用arrange、act和assert流程編寫單元測試114
6.2.3無效字符的驗證115
6.2.4具有\[DataRow\]屬性的內聯測試117
6.2.5對象初始化器和自動生成代碼118
6.2.6構造器、反射和異步編程120
6.2.7lock鎖、mutex互斥鎖和semaphore信號量122
6.2.8同步執行轉換到異步執行123
6.2.9Entity Framework Core測試124
6.2.10依賴注入控制依賴關系的使用126
6.3練習132
6.4總結133
第7章對象比較134
7.1GetCustomerByName方法135
7.1.1可空類型及其應用137
7.1.2LINQ和擴展方法137
7.2C#的由來142
7.2.1應用EqualityComparer創建“比較器”類144
7.2.2覆蓋Equals測試等價性146
7.2.3重載等價運算符147
7.3練習150
7.4總結151
第8章stub泛型和耦合153
8.1Booking存儲庫的實現154
8.2關注點分離與耦合156
8.3對象初始化器的使用160
8.4stub單元測試的使用163
8.5泛型編程的使用167
8.6使用可選參數提供默認參數169
8.7條件語句、Func和switch表達式171
8.7.1三元條件運算符171
8.7.2使用函數數組進行分支172
8.7.3switch語句和表達式173
8.7.4Entity Framework Core中的待處理更改查詢174
8.8練習177
8.9總結179
第9章擴展方法、流和抽象類181
9.1Airport存儲庫的實現182
9.2Airport對象的獲取——通過機場ID數據庫183
9.3AirportID輸入參數的驗證185
9.4輸出流186
9.5Airport對象的獲取——通過數據庫查詢191
9.6Flight存儲庫的實現199
9.6.1IsPositive擴展方法和“魔法數字”201
9.6.2數據庫中航班的獲取206
9.7練習209
9.8總結210
第5部分服務層第10章反射和模擬213
10.1回顧存儲/服務模式214
10.1.1服務類的用途是什么?215
10.2實現CustomerService216
10.2.1為成功做準備——創建類骨架216
10.2.2刪除自己代碼的方法217
10.3BookingService的實現219
10.3.1跨架構層的單元測試223
10.3.2stub和mock的區別224
10.3.3Moq庫模擬類的使用225
10.3.4存儲庫調用231
10.4練習233
10.5總結236
第11章運行類型檢查回顧和錯誤處理237
11.1驗證服務層方法的輸入參數238
11.1.1is和as運算符的運行類型檢查241
11.1.2is運算符的類型檢查242
11.1.3as運算符的類型檢查243
11.1.4驗證服務層方法總結244
11.2BookingServiceTests類清理244
11.3服務類中的外鍵約束247
11.3.1Flight存儲庫的調用248
11.4練習260
11.5總結261
第12章IAsyncEnumerable和yield return的使用262
12.1程序需要AirportService類嗎?263
12.2FlightService類的實現264
12.2.1通過FlightRepository獲取特定航班信息264
12.2.2數據流視圖組合268
12.2.3trycatch代碼塊與yield return使用276
12.2.4GetFlightByFlightNumber的實現281
12.3練習287
12.4總結288
第6部分控制器層第13章中間件、HTTP路由以及其響應293
13.1存儲/服務模式中的控制器類294
13.2決定要實現的控制器類別296
13.3FlightController的實現297
13.3.1HTTP響應(GetFlights)的返回298
13.3.2使用中間件將依賴項注入控制器301
13.3.3GET/Flight/{FlightNumber}終端地址實現310
13.4將HTTP請求路由至控制器和方法314
13.5練習319
13.6總結320
第14章 JSON序列化/反序列化以及自定義模型的綁定321
14.1BookingController類的實現322
14.1.1數據反序列化簡介323
14.1.2使用\[FromBody\]特性反序列化傳入的HTTP數據327
14.1.3自定義模型綁定器及其對應方法特性的使用328
14.1.4CreateBooking終端地址方法邏輯的實現332
14.2驗收測試及添加Swagger中間件337
14.2.1OpenAPI的手動驗收測試338
14.2.2生成OpenAPI規范342
14.3結束語348
14.4總結348
附錄A練習答案349
附錄B整潔代碼檢查表355
附錄C安裝指南357
附錄DOpenAPI360
附錄E閱讀列表363
像C#高手一樣編程 作者簡介
Jort Rodenburg是一名專門從事C#的軟件工程師,他為許多領域的應用構建軟件。同時,Jort還是一名教授,他指導并教授面向對象編程的課程,以幫助開發人員掌握C#和.NET。
- >
苦雨齋序跋文-周作人自編集
- >
二體千字文
- >
【精裝繪本】畫給孩子的中國神話
- >
大紅狗在馬戲團-大紅狗克里弗-助人
- >
中國歷史的瞬間
- >
龍榆生:詞曲概論/大家小書
- >
名家帶你讀魯迅:故事新編
- >
詩經-先民的歌唱