万本电子书0元读

万本电子书0元读

顶部广告

ASP.NET Core技术内幕与项目实战电子书

作者说:写一本关于.NET Core的书并不难,但是写一本关于.NET Core的好书太难了!如果只是为了写一本讲解.NET Core的书,我只要照着微软的官方文档去改编一下就行了,但是这样编出来的书有什么价值呢?微软的.NET文档所讲的内容已经非常丰富了,我没必要再去把它们重复一遍。我需要讲解微软文档中没有讲到的内容,读者也需要这样一本书: > 讲解相关技术背后的原理; > 讲解相关技术应用在哪些场景中;

售       价:¥

纸质售价:¥89.20购买纸书

228人正在读 | 0人评论 7.4

作       者:杨中科 著

出  版  社:人民邮电出版社有限公司

出版时间:2022-06-01

字       数:45.9万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书讲解.NET平台下的异步编程、LINQ、依赖注、配置系统、日志等相关技术的原理与应用;深且全面地介绍Entity Framework Core在项目中的应用场景,剖析Entity Framework Core的实现原理。本书在讲解使用ASP.NET Core行Web API发的同时,结合作者的实践经验介绍REST、前后端分离等编程理念在ASP.NET Core中的实现。此外,本书还会介绍领域驱动设计(DDD)的理念,并且通过来自项目发一线的案例讲解DDD理念在项目中的技术落地方案。后,本书通过真实的英语学习网站的项目案例讲解ASP.NET Core技术在项目中的应用。总体而言,本书不仅介绍技术的使用,而且讲解技术的底层原理;不仅介绍作者在项目发一线的实践经验,而且讲解综合项目案例的具体实现。 本书可供具有一定编程基础的发人员学习ASP.NET Core的使用方法,也可供具有一定经验的.NET发人员了解.NET的内部原理和学习相关项目实战经验,还可作为大中专院校学生的ASP.NET Core教材。<br/>【推荐语】<br/>作者说:写一本关于.NET Core的书并不难,但是写一本关于.NET Core的好书太难了!如果只是为了写一本讲解.NET Core的书,我只要照着微软的官方文档去改编一下就行了,但是这样编出来的书有什么价值呢?微软的.NET文档所讲的内容已经非常丰富了,我没必要再去把它们重复一遍。我需要讲解微软文档中没有讲到的内容,读者也需要这样一本书: > 讲解相关技术背后的原理; > 讲解相关技术应用在哪些场景中; > 讲解相关技术有哪些优缺; > 讲解相关技术在项目中如何应用; > 讲解真实项目的架构和技术实现。 为了达成上述目标,我在编写本书的时候做了大量的底层源代码的研究工作。比如,在讲解“异步编程”的时候,我翻阅了.NET中异步编程的源代码,从而帮助读者更好地理解和应用异步编程;又如,在讲解“表达式树”的时候,我翻阅了EF Core的表达式树翻译引擎,并且编写了一个关于翻译引擎的源项目,以帮助读者理解“表达式树”的底层原理。 项目中很多技术的讲解需要基于具有一定深度的实践应用案例,这样才能避免技术的讲解流于表面,因此我在本书中编了很多具有深度的案例。比如,在讲解依赖注的时候,我通过发一个自己的配置系统、日志系统讲解依赖注是如何把系统组件装配在一起的;又如,在讲解ASP.NET Core中间件的时候,我编写了一个模仿ASP.NET Core Web API的框架,为读者讲解中间件的实际应用。 特别说明: □ 关于配套资源 鉴于篇幅受限,作者不能把本书每个案例的每一行代码都写到书中,即书中的代码都是关键代码。如果读者想要本书配套的全部代码,则可通过人邮教育社区(www.ryjiaoyu.com)中的本书所在页面行获取。 □ 关于视频教程 本书还赠送读者配套视频教程。在视频教程中,作者从与图书不同的角度对技术行诠释。读者结合视频教程学习本书,效果会更好。读者可以通过哔哩哔哩搜索“杨中科”以观看相关视频教程,也可通过人邮教育社区下载相关视频教程。 □ 遇到问题怎么办 读者可以添加作者微信“yzk10240124”以与作者行交流,同时可以将您针对本书的修改建议与意见反馈给作者。同时,关于本书的勘误与答疑,以及新版功能免费博客等内容,读者也可以通过读者微信行了解。祝您学习愉快!<br/>【作者】<br/>杨中科: .NET方向微软MVP,拥有约30万粉丝以及近18年的IT行业软件发工作经验,擅长软件架构设计与底层框架研究,具有应用.NET、Java、Python、C等的丰富经验,编写的技术文章和录制的视频教程深浅出、通俗易懂、备受好评;同时,出版了多部优秀的软件发技术图书。<br/>
目录展开

扉页

内容提要

推荐序一

推荐序二

推荐序三

自序

前言

第1章 .NET Core入门

1.1 .NET Core概述

1.1.1 .NET平台的昨天

1.1.2 为什么要跨平台

1.1.3 .NET Core是.NET Framework的升级版吗

1.1.4 .NET Framework中哪些技术不被支持

1.1.5 .NET Standard是什么

1.1.6 项目应该使用.NET Core开发吗

1.2 .NET Core开发环境的搭建

1.2.1 用什么开发工具开发.NET Core

1.2.2 .NET Core项目结构的创新

1.3 本章小结

第2章 .NET Core重难点知识

2.1 C#的新语法

2.1.1 顶级语句

2.1.2 全局using指令

2.1.3 using声明

2.1.4 文件范围的命名空间声明

2.1.5 可为空的引用类型

2.1.6 记录类型

2.2 异步编程

2.2.1 为什么要用异步编程

2.2.2 轻松上手await、async

2.2.3 如何编写异步方法

2.2.4 async、await原理揭秘

2.2.5 async背后的线程切换

2.2.6 异步方法不等于多线程

2.2.7 为什么有的异步方法没有async

2.2.8 异步编程的几个重要问题

2.3 LINQ

2.3.1 Lambda表达式

2.3.2 常用集合类的扩展方法

2.3.3 LINQ的另一种写法

2.4 本章小结

第3章 .NET Core核心基础组件

3.1 依赖注入

3.1.1 什么是控制反转、服务定位器和依赖注入

3.1.2 .NET Core依赖注入的基本使用

3.1.3 依赖注入的魅力所在

3.2 配置系统

3.2.1 配置系统的基本使用

3.2.2 使用选项方式读取配置

3.2.3 从命令行读取配置

3.2.4 从环境变量读取配置

3.2.5 其他配置提供程序

3.2.6 案例:开发自己的配置提供程序

3.2.7 多配置源问题

3.3 日志

3.3.1 .NET Core日志基本使用

3.3.2 文件日志提供程序NLog

3.3.3 集中式日志

3.4 本章小结

第4章 Entity Framework Core基础

4.1 EF Core概述

4.1.1 什么是ORM

4.1.2 EF Core性能怎么样

4.2 EF Core入门

4.2.1 该选择什么数据库

4.2.2 EF Core环境搭建

4.2.3 插入数据

4.2.4 查询数据

4.2.5 修改和删除数据

4.3 EF Core的实体类配置

4.3.1 约定大于配置

4.3.2 Data Annotation

4.3.3 Fluent API

4.3.4 Fluent API基本配置

4.3.5 Fluent API究竟流畅在哪里

4.3.6 主键类型的选择并不简单

4.4 数据库迁移

4.4.1 数据库迁移原理

4.4.2 其他数据库迁移命令

4.4.3 反向工程(慎用)

4.5 查看EF Core生成的SQL语句

4.5.1 使用简单日志查看SQL语句

4.5.2 探秘EF Core生成SQL语句的不同

4.6 关系配置

4.6.1 一对多

4.6.2 关联数据的获取

4.6.3 实体类对象的关联追踪

4.6.4 关系的外键属性的设置

4.6.5 单向导航属性

4.6.6 关系配置在哪个实体类中

4.6.7 一对一

4.6.8 多对多

4.6.9 基于关系的复杂查询

4.7 本章小结

第5章 EF Core高级技术

5.1 EF Core原理揭秘

5.1.1 EF Core有哪些做不到的事情

5.1.2 既生IEnumerable,何生IQueryable

5.1.3 IQueryable的延迟执行

5.1.4 IQueryable的复用

5.1.5 EF Core分页查询

5.1.6 IQueryable的底层运行

5.1.7 EF Core中的异步方法

5.1.8 如何执行原生SQL语句

5.1.9 怎么知道实体类变化了

5.2 EF Core的性能优化利器

5.2.1 EF Core优化之AsNoTracking

5.2.2 实体类状态跟踪的妙用

5.2.3 Find和FindAsync方法

5.2.4 EF Core中高效地删除、更新数据

5.2.5 全局查询筛选器

5.2.6 悲观并发控制

5.2.7 乐观并发控制

5.3 表达式树

5.3.1 什么是表达式树

5.3.2 Expression和Func的区别

5.3.3 可视化查看表达式树

5.3.4 通过代码查看表达式树

5.3.5 通过代码动态构建表达式树

5.3.6 让动态构建表达式树更简单

5.3.7 让构建“动态”起来

5.3.8 不用Emit实现Select的动态化

5.3.9 避免动态构建表达式树

5.4 本章小结

第6章 ASP.NET Core Web API基础

6.1 ASP.NET Core MVC项目

6.1.1 ASP.NET Core MVC项目的搭建

6.1.2 编写第一个MVC程序

6.1.3 .NET Core的新工具:热重载

6.2 使用ASP.NET Core开发Web API

6.2.1 Web API项目的搭建

6.2.2 Post、Put等操作方法

6.3 Restful:想说爱你不容易

6.3.1 什么是Restful

6.3.2 Restful的优缺点

6.3.3 Restful中如何传递参数

6.3.4 返回错误码:200派与4xx派的“对决”

6.3.5 Restful实现指南

6.4 ASP.NET Core Web API各种技术及选择

6.4.1 控制器父类用哪个

6.4.2 操作方法的异步、返回值、状态码

6.4.3 操作方法的参数从哪里来

6.5 ASP.NET Core Web API案例

6.5.1 开发Web API

6.5.2 什么是前后端分离

6.5.3 搭建前端开发环境

6.5.4 如何实现前后端分离开发

6.6 本章小结

第7章 ASP.NET Core基础组件

7.1 ASP.NET Core中的依赖注入

7.1.1 对象注入的代码写到哪里

7.1.2 低使用频率服务的另类注入方式

7.1.3 案例:开发模块化的服务注册框架

7.2 配置系统与ASP.NET Core的集成

7.2.1 默认添加的配置提供者

7.2.2 ASP.NET Core的多环境设置

7.2.3 用“用户机密”来避免机密信息的泄露

7.2.4 案例:配置系统综合

7.3 EF Core与ASP.NET Core的集成

7.3.1 分层项目中EF Core的用法

7.3.2 使用“上下文池”时要谨慎

7.3.3 案例:批量注册上下文

7.4 性能优化“万金油”:缓存

7.4.1 什么是缓存

7.4.2 客户端响应缓存

7.4.3 服务器端响应缓存

7.4.4 内存缓存

7.4.5 缓存穿透问题的规避

7.4.6 缓存雪崩问题的规避

7.4.7 缓存数据混乱的规避

7.4.8 案例:封装内存缓存操作的帮助类

7.4.9 分布式缓存

7.4.10 案例:封装分布式缓存操作的帮助类

7.4.11 缓存方式的选择

7.5 筛选器

7.5.1 异常筛选器

7.5.2 操作筛选器基础

7.5.3 案例:自动启用事务的操作筛选器

7.5.4 案例:开发请求限流器

7.6 中间件

7.6.1 什么是中间件

7.6.2 中间件的3个概念

7.6.3 简单演示中间件

7.6.4 案例:自己动手模仿Web API框架

7.6.5 调整内置中间件的顺序,结果大不同

7.6.6 案例:Markdown转换器中间件

7.6.7 筛选器与中间件的区别

7.7 本章小结

第8章 ASP.NET Core高级组件

8.1 Authentication与Authorization

8.1.1 标识框架

8.1.2 实现密码的重置

8.1.3 代替Session(会话)的JWT

8.1.4 JWT的基本使用

8.1.5 ASP.NET Core对于JWT的封装

8.1.6 [Authorize]的注意事项

8.1.7 让Swagger中调试带验证的请求更简单

8.1.8 解决JWT无法提前撤回的难题

8.1.9 总结

8.2 利用托管服务执行后台代码

8.2.1 托管服务的基本使用

8.2.2 托管服务中使用依赖注入的陷阱

8.2.3 案例:数据的定时导出

8.3 请求数据的校验

8.3.1 .NET Core内置数据校验的不足

8.3.2 FluentValidation的基本使用

8.3.3 FluentValidation中注入服务

8.4 SignalR服务器端消息推送

8.4.1 SignalR基本使用

8.4.2 协议协商

8.4.3 SignalR分布式部署

8.4.4 SignalR身份认证

8.4.5 针对部分客户端的消息推送

8.4.6 在外部向集线器推送消息

8.4.7 案例:导入英汉词典到数据库并显示进度

8.4.8 SignalR实践指南

8.5 ASP.NET Core系统的部署

8.5.1 ASP.NET Core网站的发布

8.5.2 网站部署需要注意的几个问题

8.5.3 如何构建一个安全的系统

8.6 本章小结

第9章 DDD实战

9.1 架构设计的术与道

9.1.1 架构设计之怪现状

9.1.2 架构是进化而来的

9.2 DDD的基本概念

9.2.1 什么是微服务

9.2.2 微服务架构的误区

9.2.3 DDD为什么难学

9.2.4 领域与领域模型

9.2.5 通用语言与界限上下文

9.2.6 实体类与值对象

9.2.7 聚合与聚合根

9.2.8 领域服务与应用服务

9.2.9 领域事件与集成事件

9.3 DDD的技术落地

9.3.1 贫血模型与充血模型

9.3.2 EF Core对实体类属性操作的秘密

9.3.3 EF Core中实现充血模型

9.3.4 EF Core中实现值对象

9.3.5 案例:构建表达式树,简化值对象的比较

9.3.6 千万不要面向数据库建模

9.3.7 聚合在.NET中的实现

9.3.8 用MediatR实现领域事件

9.3.9 EF Core中发布领域事件的合适时机

9.3.10 RabbitMQ的基本使用

9.3.11 案例:简化集成事件的框架

9.3.12 案例:Zack.EventBus源代码讲解

9.3.13 整洁架构(洋葱架构)

9.4 DDD案例实战:用户管理及登录

9.4.1 实现整洁架构项目分层

9.4.2 领域模型的实现

9.4.3 领域服务的实现

9.4.4 基础设施的实现

9.4.5 工作单元的实现

9.4.6 应用服务层的实现

9.5 本章小结

第10章 项目案例:英语学习网站

10.1 需求说明及项目演示

10.1.1 网站需求说明

10.1.2 网站结构说明

10.1.3 项目结构说明

10.1.4 项目运行环境搭建

10.1.5 主要功能演示

10.2 文件服务的开发

10.2.1 开发文件服务的领域层

10.2.2 开发文件服务的基础设施层

10.3 认证服务的开发

10.3.1 开发认证服务的领域层

10.3.2 开发认证服务的基础设施层

10.3.3 开发认证服务的应用服务层

10.4 英语听力服务的开发

10.4.1 开发英语听力服务的领域层

10.4.2 开发英语听力服务的后台应用服务层

10.4.3 开发英语听力服务的前台应用服务层

10.5 转码服务的开发

10.5.1 开发转码服务的领域层

10.5.2 开发转码服务的基础设施层

10.5.3 开发转码服务的应用服务层

10.6 搜索服务的实现

10.7 性能优化的原则

10.8 项目总结

10.9 本章小结

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部