.NET 8 后端开发训练营: 模块化单体, 垂直切片架构, 领域驱动设计, CQRS和事务发件箱模式 | .NET 8 Backend Bootcamp: Modulith, VSA, DDD, CQRS and Outbox-cc资源站
.NET 8 后端开发训练营: 模块化单体, 垂直切片架构, 领域驱动设计, CQRS和事务发件箱模式 | .NET 8 Backend Bootcamp: Modulith, VSA, DDD, CQRS and Outbox
此内容为付费资源,请付费后查看
100积分
永久包售后
1. 课程包更新
2. 通用视频格式
3. 超清高清视频
4. 资料齐全
5. 无二次加密
付费资源

.NET 8 后端开发训练营: 模块化单体, 垂直切片架构, 领域驱动设计, CQRS和事务发件箱模式 | .NET 8 Backend Bootcamp: Modulith, VSA, DDD, CQRS and Outbox

资源内容

模块化单体架构(Modulith)和垂直切片架构(VSA)

领域驱动设计(DDD)

命令查询职责分离(CQRS)

用于可靠消息传递的出箱模式(Outbox Pattern)

CQRS(命令查询职责分离)和垂直切片架构用于模块开发

通过进程内方法调用进行通信——公共API,并使用RabbitMQ进行事件驱动通信

使用Keycloak安全API,采用OpenID Connect和承载令牌(Bearer Tokens)

ASPNET Core最小API以及.NET 8和C# 12的最新特性

带有功能文件夹的垂直切片架构实现

使用MediatR库的DDD、CQRS模式并遵循最佳实践

在UpdatePriceChanged事件中使用领域事件(Domain Events)与集成事件(Integration Events)

对PostgreSQL数据库使用Entity Framework Core代码优先(Code-First)方法和迁移

包括使用Serilog记录日志、使用MediatR管道行为进行验证等横切关注点(Cross-cutting Concerns),还有异常处理、分页

在PostgreSQL数据库之上使用Redis作为分布式缓存

开发代理模式、装饰器模式和缓存旁置模式(Cache-aside pattern)

通过进程内方法调用(公共API)同步Catalog和Basket模块之间的通讯

通过RabbitMQ和MassTransit异步模块间通信

使用Keycloak认证开发用户身份模块

OAuth2 + OpenID Connect流程与Keycloak

用于可靠消息传递的出箱模式(Outbox Pattern)与购物篮结账(BasketCheckout)用例

通过MassTransit库将BasketCheckoutEvent发布到RabbitMQ,并由订单模块消费

迁移到微服务:EShop模块到微服务的迁移,采用Stranger Fig模式

C# 和编程基础知识

在这个训练营中,您将学习如何使用最前沿的技术和架构模式构建稳健、可扩展且易于维护的应用程序。

我们将开发以下内容:

模块化单体架构(Modulith)

垂直切片架构(VSA)

领域驱动设计(DDD)

命令查询职责分离(CQRS)

用于可靠消息传递的出箱模式(Outbox Pattern)

我们将从基础开始,并逐步深入每个主题。您将通过构建一个完整的EShop模块化单体应用程序获得实际操作经验,实现诸如CQRS和出箱模式等功能。

在本课程中,我们将遵循CQRS(命令查询职责分离)和垂直切片架构进行模块开发。

各模块之间将通过进程内方法调用——公共API通信,并使用RabbitMQ进行事件驱动通信。

我们将使用Keycloak通过OpenID Connect和承载令牌(Bearer Tokens)来保护我们的API。

我们将为模块间可靠的消息传递实现出箱模式。

此外,您还将开发以下模块和项目:

商品目录模块(Catalog module),其中包括:

使用ASP.NET Core最小API以及.NET 8和C# 12的最新特性。

使用功能文件夹实现垂直切片架构。

使用MediatR库开发DDD、CQRS模式并遵循最佳实践。

在价格更新事件(UpdatePriceChanged event)中使用领域事件(Domain Events)与集成事件(Integration Events)。

对PostgreSQL数据库使用Entity Framework Core代码优先(Code-First)方法和迁移。

使用Carter暴露最小API端点。

横切关注点包括使用Serilog记录日志、使用MediatR管道行为进行验证、异常处理、分页等。

购物篮模块(Basket module),其中包括:

类似于商品目录模块;开发DDD、CQRS、垂直切片架构实现。

另外:

在PostgreSQL数据库之上使用Redis作为分布式缓存。

开发和实现代理模式、装饰器模式和缓存旁置模式(Cache-aside pattern)。

通过MassTransit库将BasketCheckoutEvent发布到RabbitMQ。

实现出箱模式以确保购物篮结账(BasketCheckout Use Case)时消息传递的可靠性。

身份模块(Identity Module),其中包括:

使用Keycloak认证开发用户身份模块。

使用Keycloak进行OAuth2 + OpenID Connect流程。

在Docker-compose文件中设置Keycloak作为支持服务的身份提供商。

使用Keycloak OpenId Connect在AspNet中保护EShop模块。

使用Keycloak身份的JwtBearer令牌进行OpenID Connect。

订单模块(Ordering Module),其中包括:

类似于商品目录和购物篮模块;开发DDD、CQRS、垂直切片架构实现。

实现出箱模式以确保购物篮结账(BasketCheckout Use Case)时消息传递的可靠性。

最后,我们将讨论

迁移到微服务:使用Stranger Fig模式将EShop模块转换为微服务

本课程不仅仅是学习.NET,它是一次深入探索模块化单体与垂直切片架构、领域驱动设计(DDD)、CQRS及

开发高级架构模式的世界之旅。

从初学者到高级的.NET开发者,如果您对带有模块化单体架构(Modular Monolith Architectures)的.NET后端技术充满好奇,那么这个路径非常适合您。

© 版权声明
THE END
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容