• 像C#高手一样编程
21年品牌 40万+商家 超1.5亿件商品

像C#高手一样编程

全新正版 极速发货

48.58 3.8折 129 全新

库存10件

广东广州
认证卖家担保交易快速发货售后保障

作者(美)乔特·罗登堡

出版社北京航空航天大学出版社

ISBN9787512436886

出版时间2022-06

装帧平装

开本16开

定价129元

货号1202705788

上书时间2024-06-09

曲奇书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
第1部分使用C#和.NET

第1章C#和.NET相关概念及使用说明3

1.1C#的优势4

1.1.1C#的经济性5

1.1.2C#的可维护性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.4TheFlightController:DELETE/flight/{flightNumber}74

4.5练习75

4.6总结76

第3部分数据库访问层

第5章使用EntityFrameworkCore设置项目和数据库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.1EntityFrameworkCore和逆向94

5.3.2DbSet和EntityFrameworkCore工作流程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.9EntityFrameworkCore测试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.4EntityFrameworkCore中的待处理更改查询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和yieldreturn的使用262

12.1程序需要AirportService类吗?263

12.2FlightService类的实现264

12.2.1通过FlightRepository获取特定航班信息264

12.2.2数据流视图组合268

12.2.3trycatch代码块与yieldreturn使用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

内容摘要
如果你已经精通一些类似于Go、C、JavaScript、Python或其他一些主流编程语言,通过认真学习本书内容,你将能够编写完整、地道的C#代码,如果你已经使用过C#,本书将会“提升”你的C#技能。无论你是在构建面向用户的业务应用程序,还是在编写数据密集型的后端服务,本书中基于经验的实用技术都将把你的C#技能提升到一个新的水平。本书将教你如何编写适合企业应用程序的、简洁的C#代码。在本书中,你将应用新的C#技术重构旧的代码库,你还将探索EntityFrameworkCore等工具,学习依赖项注入等技术,测试代码等实际应用。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP