展开全部

主编推荐语

本书讲解.NET平台下的异步编程、LINQ、依赖注入、配置系统、日志等相关技术的原理与应用。

内容简介

本书结合作者的实践经验介绍REST、前后端分离等编程理念在ASP.NET Core中的实现,同时讲解使用ASP.NET Core进行Web API开发。此外,还介绍领域驱动设计(DDD)的理念,并且通过来自项目开发一线的案例讲解DDD理念在项目中的技术落地方案。

本书通过真实的英语学习网站的项目案例讲解ASP.NET Core技术在项目中的应用。

目录

  • 版权信息
  • 内容提要
  • 推荐序一
  • 推荐序二
  • 推荐序三
  • 自序
  • 前言
  • 第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 本章小结
展开全部

评分及书评

4.7
3个评分
  • 用户头像
    给这本书评了
    5.0

    应该是目前最新最深入的. net 中文学习书了,配合老师在 b 站的视频非常完美#CShape

      转发
      评论

    出版方

    人民邮电出版社

    人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。