资源内容
模块化单体架构(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后端技术充满好奇,那么这个路径非常适合您。
本站所有内容均由网络公开等合法途径整理而来,该资料仅作为阅读交流使用,并无任何商业目的,严禁用于商业用途。
任何访问、浏览本网站,购买或未购买者,都代表已阅读、理解并同意遵守本声明条款。
关于价格:本站资料价格均不代表原商品实价,标价仅为人工整理网站所收取的服务费用。
内容来源:本站所有内容均来自网络公开等合法途径,本店仅做整理;若版权方、出版社认为本站侵权,请立即通知本站。如版权属实,本站将立即下架相关资料,谢谢!
版权所属:本站售出资料的版权归相应内容作者或权利人所有,本站不对涉及的版权问题负法律责任。
免责声明:资料所标识的价格是对本店整理资料以及网盘运营必须的费用支出所支付的适应补偿,资料索取者应尊懂版权方的知识产权! 支持正版!!!
相关规定:根据二00二年一月一日《计算机软件保护条例》规定为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。
如有侵权请您联系邮箱:ccziyuanzhan@163.com 我们将第一时间为您处理!
暂无评论内容