零度架构实践系列视频教程

  • 共 33 个视频教程

第33期-使用Dapper实现CQRS模式

  • 24天前 | 49分钟
  • VIP

理解 CQRS 命令和查询职责分离模式,在传统的体系结构中,使用同一数据模型查询和更新数据库,为提高数据库的扩展性,使用 CQRS 模式将读取和写入分离到不同的应用模型中,关于数据库读写分离后的主从复制可靠性,在零度框架中使用 Dapper 实现 CQRS 查询模式,抽象并实现数据库连接工厂接口,通过示例学习 CQRS 模式的使用方法,优雅地实现数据记录分页和关键字搜索。

601次播放

第32期-多租户使用独立数据库部署

  • 2021/5/26 1:37 | 46分钟
  • VIP

租户信息与连接字符串配置,连接字符串提供者接口,默认连接字符串提供者实现,多租户连接字符串提供者实现,从远程租户配置系统读取接字符串,使用数据库连接拦截器动态变更连接字符串,多租户独立数据库部署和迁移方案。

106次播放

第31期-多租户数据隔离与软删除机制

  • 2021/5/13 23:47 | 57分钟
  • VIP

租户信息异步线程上下文,使用中间件在提取租户信息,多租户数据隔离筛选器,为添加的实体自动设置租户编号,软删除全局筛选器,保存实体变更时分发领域事件,使用保存变更拦截器横切关注点,生成基于多租户和软删除的产品演示数据。

1735次播放

第30期-多租户登录与令牌声明

  • 2021/5/8 23:58 | 36分钟
  • VIP

租户与用户的关系,在用户表添加租户字段,自定义用户声明信息工厂,在访问令牌中关联租户编号,生成租户演示数据,租户系统二次开发和设计,不同租户下用户名的唯一性和重复性,租户用户名规则,为租户提供不同的域名或访问地址。

1830次播放

第29期-多维度动态授权策略访问控制

  • 2021/4/26 22:12 | 37分钟
  • VIP

定义权限策略常量,实现权限定义提供者,显示多语言本地化权限,在容器中自动注入授权相关的接口和实现,在控制器和操作上注解权限策略,生成权限演示数据,运行并演示授权机制,重构权限操作需求,设计并实现基于数据资源的动态授权机制。

2016次播放

第28期-实现OpenAPI帮助文档授权

  • 2021/4/20 21:45 | 48分钟
  • VIP

设置微服务启动端口,在生产平台中部署 OpenAPI 帮助文档,导入演示数据,创建安全操作过滤器,在 IdentityServer 上配置 CORS 跨域资源共享,在 OpenAPI 帮助文档中配置 OAuth 身份认证授权方式,基于 JWT 令牌的 Bearer 身份认证方式,在 API 操作上注解授权特性,基于策略和角色的授权,匿名访问时跳过授权。

2063次播放

第27期-集成第三方外部登录方式

  • 2021/4/15 23:20 | 24分钟
  • VIP

支持第三方外部社交账号登录方式,关于开源 OAuthHandler 处理程序,集成微信登录,集成 QQ 登录,集成支付宝登录,集成微博登录,集成微软账号登录,集成 GitHub 登录,支持更多社交账号登录方式,在配置文件中配置客户端密钥信息,在容器中注入外部认证方式,质询并跳转到第三方外部登录,处理外部登录回调流程。

2346次播放

第26期-实现注销功能与重置密码

  • 2021/4/14 23:17 | 39分钟
  • VIP

创建注销模型,实现注销方法,创建注销确认视图,演示注销流程,创建重置密码模型,实现模型多语言本地化,创建重置密码方法,创建重置密码视图,使用手机验证码重置密码流程,使用工具生成令牌签名所需的数字证书,配置并读取数字证书,演示授权确认页面和接口请求流程。

2384次播放

第25期-实现授权确认页面

  • 2021/4/7 22:50 | 17分钟
  • VIP

理解授权机制工作原理,终端用户,客户端,身份服务器,资源提供者,访问令牌,身份令牌,实现授权确认机制,创建授权确认模型,授权确认控制器,多语言授权确认视图,测试授权过程与请求地址。

2415次播放

第24期-新用户注册与短信验证机制

  • 2021/3/30 22:53 | 45分钟
  • VIP

集成阿里云服务接口,统一处理接口认证,使用短信开放接口,发送短信和邮件,创建注册视图模型并对元数据进行本地化多语言,创建多语言注册视图,注册模型验证,处理远程异步验证,实现前端发送验证码。

2619次播放

第23期-实现优雅的用户登录系统

  • 2021/3/25 23:13 | 52分钟
  • VIP

统一身份认证授权中心需要对外提供登录,注册,双重身份认证,重置密码,找回密码,第三方登录方式,登录控制器,登录界面,视图的本地化与多语言,用户管理与登录管理,实现多语言模型和界面,本地验证与服务端验证,登录成功进入欢迎界面,展示当前登录用户的声明信息。

2858次播放

第22期-单点登录与认证授权微服务

  • 2021/3/22 22:27 | 40分钟
  • VIP

IdentityServer 是基于 .NET 平台开源的 OpenID Connect 和 OAuth 框架,提供身份认证,单点登录,单点注销,使用令牌对 API 访问控制,可集成外部身份提供商,具有高可扩展性,在零度微服务框架中实现单点登录和令牌颁发服务,关于授权中心的用户数据,客户端数据,运行时数据的持久化存储方案,配置依赖注入容器,数据库迁移,生成一些可测试的演示数据。

2790次播放

第21期-权限服务和权限控制器

  • 2021/3/15 23:13 | 33分钟
  • VIP

权限策略定义,授权处理器,授权过程,实现权限应用服务和数据传输对象,查询指定主体的权限分组树,为主体分配指定的权限,生成授权演示数据,使用 WebAPI 权限控制器查询和分配权限,测试并演示授权流程。

3068次播放

第20期-实现授权决定和授权制行控制

  • 2021/3/11 23:42 | 57分钟
  • VIP

关于灵活可扩展授权机制的工作流程,身份认证的目的是确定用户的身份主体,而授权是针对身份主体分配资源的操作权限,理解身份主体,权限策略,资源,操作,授权决定,授权制行,实现 ACL 访问控制列表,使用自定义的仓储存储权限授予列表,基于分布式缓存的权限存储器,可扩展的权限值提供者接口,权限断言检查器,自定义授权处理器。

3185次播放

第19期-权限策略机制的设计与实现

  • 2021/3/10 21:37 | 49分钟
  • VIP

理解基于策略的授权机制,灵活且可扩展的权限定义系统,基于树型结构的权限定义,权限分组定义,权限定义上下文,设计权限定义提供者接口,实现权限定义提供者接口,权限显示名称的本地化多语言,权限定义管理器,扩展微软默认的授权策略提供者,从权限管理器查询权限,并将权限定义转换为授权策略,自定义授权策略提供者的回退机制。

2925次播放

第18期-定制OpenAPI在线帮助文档

  • 2021/3/9 20:47 | 30分钟
  • VIP

使用 OpenAPI 生成优雅美观的在线帮助文档,在项目中添加 OpenAPI 支持,配置 Swagger 依赖注入和中间件,定制并修改页面模板结构,使用样式表美化帮助文档界面,定制图标和品牌标识,使用 Swagger 测试 WebAPI 接口,使用 Curl 命令发起 HTTP 请求并测试 WebAPI 接口。

2789次播放

第17期-表现层的灵活配置与可扩展性

  • 2021/3/8 21:01 | 31分钟
  • VIP

简化 Startup 启动类配置,横向扩展启动类,分离依赖注入和中间件管道的配置,使用 IHostingStartup 接口在启动时从外部程序集向应用添加增强功能,动态配置服务容器,使用 IStartupFilter 筛选器接口动态扩展 Startup 启动类,动态配置中间件管道,实现自定义 IMvcBuilder 扩展方法。

2950次播放

第16期-验证消息多语言与资源编辑器

  • 2021/2/24 0:05 | 31分钟
  • VIP

基于 FluentValidation 链式验证消息的多语言实现,实现并替换默认多语言错误消息,属性显示名称多语言,在模型链式验证器中自定义错误消息并实现多语言,开源的资源文件编辑管理器,资源文件最优雅的编辑方式,使用工具自动翻译并生成多语言资源文件。

31次播放

第15期-本地化与全球化的多语言实现

  • 2021/2/23 23:40 | 50分钟
  • VIP

国际化,全球化,本地化,区域性,学习 .NET 框架中的语言文化相关类,关于 ASP.NET Core 的全球化与本地化,实现多语言切换功能,基于数据注解验证机制的错误消息多语言,属性显示名称多语言,定制替换微软提供的默认错误消息并实现多语言。

3546次播放

第14期-模型验证机制

  • 2021/2/13 17:11 | 35分钟
  • VIP

在零度框架中实现可扩展的模型验证机制,微软 .NET 框架中基于特性的数据注解验证方式,定制默认错误消息,基于 FluentValidation 实现链式验证,编写链式验证器,在依赖容器中自动注入验证,在 WebAPI 中启用自动模型验证,在代码中调用验证器,同时支持注解验证和链式验证。

2789次播放

第13期-通用增删改查泛型应用服务

  • 2021/1/29 0:40 | 67分钟
  • VIP

数据传输对象 DTO 用于在应用程序层和客户端表现层之间传输数据,理解使用 DTO 数据传输对象的优缺点,实现基于 CRUD 增删改查操作的通用泛型应用服务,使用 AutoMapper 自动映射实体和 DTO 对象,将映射规则的配置自动注入到依赖容器,基于泛型通用应用服务自定义应用服务,在依赖容器中注入泛型应用服务。

66次播放

第12期-应用程序服务与服务接口调用

  • 2021/1/27 22:58 | 61分钟
  • VIP

理解领域服务与应用服务的区别,应用服务用于实现应用程序的用例,它用于将领域服务的逻辑公开给表现层,在框架中设计并实现应用服务,理解并实现 DTO 数据传输对象,实现 CRUD 增删改查操作,实现分页与排序,在依赖容器中注册应用服务,在表现层 Web API 中调用应用服务接口实现业务用例,使用 Watch 监视命令启动并测试项目。

3999次播放

第11期-设计并实现领域事件

  • 2021/1/21 23:07 | 46分钟
  • 免费

本地领域事件与分布式队列集成事件的区别,使用中介者模式实现本地领域事件机制,可避免交互对象之间的紧耦合关系,实现领域事件接口,当持久化聚合根或实体时自动分发领域事件,编写领域事件,使用 MediatR 中介者实现发布订阅机制,领域事件订阅处理器,在容器中动态注入领域事件订阅者。

4301次播放

第10期-在框架中实现软删除和多租户

  • 2021/1/19 22:23 | 56分钟
  • 免费

设计软删除与多租户接口,使用全局过滤器查询软删除和多租户数据,租户数据存储与租户连接字符串,租户相关实体映射,使用变更跟踪器实现软删除,当前租户访问器,使用 AsyncLocal 和 Dispose 模式实现租户环境灵活切换,通过多租户中间件拦截请求并在上下文中提取租户信息。

4170次播放

第09期-演示数据生成与自定义仓储

  • 2021/1/15 23:36 | 50分钟
  • 免费

使用设计时工厂创建 DbContext 迁移上下文,与 EF Core 无关的数据库初始化与演示数据生成机制,设计数据初始化提供者接口,实现数据初始化接口并在容器中自动注入,在请求管道中启动数据初始化机制,返回可空的实体类型,使用链式依赖注入,项目文档约定,基于通用仓储 实现自定义仓储。

4443次播放

第08期-实体模型映射与数据库表迁移

  • 2021/1/14 22:34 | 54分钟
  • 免费

自动加载模型配置,实体模型映射配置,主键配置,字段约束配置,索引配置,数据表关系配置,自定义值转换器,元组类型与析构器,使用 DbContext 实现泛型通用仓储,依赖容器注入约定,在容器中注入 DbContext 上下文,使用池提高上下文创建性能,在容器中注入 DbContext 上下文工厂,数据库连接重试机制,在容器中注入泛型通用仓储。

4278次播放

第07期-设计并实现基础设施层

  • 2021/1/11 23:18 | 42分钟
  • 免费

学习并理解基础设施层的作用,基础设施层为其它层提供通用的技术能力,提供层间的通信,为领域层实现持久化机制,使用 Entity Framework 框架实现通用泛型仓储,实现异步查询提供者,加载关联数据,领域异常设计,动态生成规约表达,实现并使用规约计算器查询数据,使用 DbContext 上下文实现工作单元。

4526次播放

第06期-规约模式最佳实践

  • 2021/1/9 10:04 | 48分钟
  • 免费

规约模式用于定义可重用、可组合、有意义和可测试的过滤器,简单地说,规约模式就是对查询条件表达式用类的形式进行封装,使用第三方开源代码设计并构建自己的规约模式,抽象规约接口与基本实现,规约计算器,在仓储模式中支持规约查询,规约的组合与生成器,在领域服务中使用规约查询数据。

2017次播放

第05期-创建仓储模式和工作单元

  • 2021/1/8 22:54 | 42分钟
  • 免费

仓储和工作单元模式旨在创建应用程序的业务逻辑层和数据访问提供程序之间的抽象,实现这些模式可让你的应用程序对数据数据持久层的变化不敏感,从而提供对数据访问层的灵活扩展,而且很容易进行自动化单元测试和进行测试驱动开发,实战演练,在项目框架中实现通用泛型仓储和工作单元模式,抽象异步查询器,在仓储上扩展异步查询器。

4397次播放

第04期-领域实体聚合根值对象设计

  • 2021/1/7 22:30 | 48分钟
  • 免费

理解领域模型驱动设计,设计抽象的实体基类,具有独立主键的实体和具有复合主键的实体,设计聚合根接口,设计领域事件通知,多租户接口设计,值对象基类设计,使用记录类型实现值对象,通过示例实战演示,实体聚合根值对象在项目中的应用,通过几个示例学习抽象基类的各种用法。

4425次播放

第03期-在项目中引入可空引用类型

  • 2021/1/6 22:34 | 29分钟
  • 免费

在框架中支持可空的引用类型,使用可为空和不可为空引用类型更清晰地表达设计意图,使用特性注解有助于编译器对可空引用状态的静态分析,使用可为空引用类型迁移现有代码,可以通过使用可空包容运算符消除警告,修改框架项目文件以支持可空引用类型检查。

4429次播放

第02期-实现分布式消息队列集成事件

  • 2021/1/4 21:23 | 42分钟
  • 免费

同步通信与异步通信,实现微服务架构中的事件总线,抽象可扩展的事件总线接口,设计可扩展的事件总线,消息事件定义,事件总线接口抽象,事件处理程序抽象,基于动态类型的事件处理程序,事件与订阅者管理器,使用 RabbitMQ 实现事件总线接口,使用指数退避算法实现连接复原。

4283次播放

第01期-零度框架架构规范与指南

  • 2020/12/29 23:21 | 38分钟
  • 免费

从零开始搭建基于微服务和领域模型驱动设计的分层架构,零度开源仓库地址介绍,学习微软官方最新编码规范,零度框架的搭建以开发简单,多屏体验,前后端分离,灵活部署,最少依赖,最新框架为原则,以物联网平台管理系统为业务模型,参考诸多优秀开源框架,采用主流稳定的技术栈,从零开始搭建企业级架构。

4821次播放