中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊

包郵 像C#高手一樣編程

出版社:北京航空航天大學出版社出版時間:2022-06-01
開本: 其他 頁數: 384
中 圖 價:¥56.5(4.4折) 定價  ¥129.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
溫馨提示:5折以下圖書主要為出版社尾貨,大部分為全新(有塑封/無塑封),個別圖書品相8-9成新、切口
有劃線標記、光盤等附件不全詳細品相說明>>
本類五星書更多>

像C#高手一樣編程 版權信息

像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.3trycatch代碼塊與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。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 西门子代理商_西门子变频器总代理-翰粤百科| 南方珠江-南方一线电缆-南方珠江科技电缆-南方珠江科技有限公司 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格 | 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 武汉创亿电气设备有限公司_电力检测设备生产厂家 | 船用泵,船用离心泵,船用喷射泵,泰州隆华船舶设备有限公司 | 大倾角皮带机-皮带输送机-螺旋输送机-矿用皮带输送机价格厂家-河南坤威机械 | 数字展示在线_数字展示行业门户网站 | 【连江县榕彩涂料有限公司】官方网站 | 植筋胶-粘钢胶-碳纤维布-碳纤维板-环氧砂浆-加固材料生产厂家-上海巧力建筑科技有限公司 | 联系我们老街华纳娱乐公司官网19989979996(客服) | 粒米特测控技术(上海)有限公司-测功机_减速机测试台_电机测试台 | 艺术涂料|木纹漆施工|稻草漆厂家|马来漆|石桦奴|水泥漆|选加河南天工涂料 | 深圳市人通智能科技有限公司| 细砂提取机,隔膜板框泥浆污泥压滤机,螺旋洗砂机设备,轮式洗砂机械,机制砂,圆锥颚式反击式破碎机,振动筛,滚筒筛,喂料机- 上海重睿环保设备有限公司 | 中山市派格家具有限公司【官网】| 全国国际化学校_国际高中招生_一站式升学择校服务-国际学校网 | 螺钉式热电偶_便携式温度传感器_压簧式热电偶|无锡联泰仪表有限公司|首页 | 防弹玻璃厂家_防爆炸玻璃_电磁屏蔽玻璃-四川大硅特玻科技有限公司 | 深圳市简易检测技术有限公司| 雷达液位计_超声波风速风向仪_雨量传感器_辐射传感器-山东风途物联网 | 昊宇水工|河北昊宇水工机械工程有限公司 | 手板_手板模型制作_cnc手板加工厂-东莞天泓 | 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 对照品_中药对照品_标准品_对照药材_「格利普」高纯中药标准品厂家-成都格利普生物科技有限公司 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 山东石英砂过滤器,除氟过滤器「价格低」-淄博胜达水处理 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | 工业铝型材-铝合金电机壳-铝排-气动执行器-山东永恒能源集团有限公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 传爱自考网_传爱自学考试网 | 恒湿机_除湿加湿一体机_恒湿净化消毒一体机厂家-杭州英腾电器有限公司 | 建筑资质代办-建筑企业资质代办机构-建筑资质代办公司 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 煤粉取样器-射油器-便携式等速飞灰取样器-连灵动 | 丹佛斯变频器-丹佛斯压力开关-变送器-广州市风华机电设备有限公司 | 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 透平油真空滤油机-变压器油板框滤油机-滤油车-华之源过滤设备 | R507制冷剂,R22/R152a制冷剂厂家-浙江瀚凯制冷科技有限公司 |