
发布于 2026年7月
MP4 | 视频:h264,1920×1080 | 音频:AAC,44.1 KHz,2 Ch
语言:英语 | 时长:12小时20米 | 尺寸:7.43 GB
构建具有 DDD、CQRS、聚合、域事件、传点和端口适配器的生产级电子商务后端
你将学到什么
将 NestJS 后端构建为具有 cleand 域、应用程序、基础设施和演示层的有界上下文
设计富域名模型,使用聚合体、实体和值对象,使无效状态无法代表
使用 @nestjs/cqrs 实现包含命令、查询和处理程序的 CQRS
从业务逻辑中导出域事件,并通过跨分区情境与故事编排工作流程
应用端口和适配器将 PostgreSQL 替换为 MongoDB(或另一个通知提供程序),而不涉及业务逻辑
在聚合体内执行业务不变量和状态机器,而不是分散服务之间的规则
将Stripe支付和webhooks集成在简洁的架构边界后
使用 Mailtrap 实现真实电子邮件通知
要求
使用 TypeScript 舒适——类、接口和 async/await
基础NestJS熟悉:模块、控制器和提供者
已安装 Node.js 和运行的 PostgreSQL 实例(免费本地安装或 Docker 容器操作正常)
无需事先使用DDD或清洁架构经验——每种模式都借鉴第一原则
描述
大多数 NestJS 教程都会停在控制器调用数据库的服务上。本课程讲述了此后的情况:如何构建真正的后端,使商业逻辑统一存在,完全可测试单元,且在需求变化时不会分崩离析。
我们共同构建一个完整的电子商务系统,从零开始——产品、客户、订单和支付——作为四个自主边界环境,将域驱动设计和架构模式应用于各个层面。
你将学会什么
– 富有包含聚合、实体和值对象的域模型——其中无效状态不可替代,且每个状态变化都经过行为方法
– 使用 @nestjs/cqrs 命令、查询和处理程序进行 CQRS
– 源自商业逻辑的域事件,以及跨边界情境编排工作流程的动态(下单 → 创建付款 → 订单确认)
– 端口和适配器:通过更改单行方式,将 PostgreSQL(Drizzle)替换为 MongoDB,或通过 Mailtrap 发送真实邮件通知的控制台通知
– 使用其状态设备的子实体,其状态驱动父体聚合
– 真实集成:使用 webhook 处理和 Mailtrap 邮件通知进行脱衣支付
– 一个带有 DTO 和验证的 REST API 的干净层,能够调度命令,且从不直接接触域对象
每个概念都按顺序引入:先是价值对象,然后是实体、聚合体、集合不变量,最后是交叉上下文编排。在为它奠定基础之前,你永远看不到任何模式。
这门课程是给谁的
能够开发CRUD应用程序并希望设计能够持续多年需求的中级后端开发人员
NestJS 和 Node.js 开发人员曾听说过 DDD、CQRS 和 Clean Architecture,但尚未看到它们被应用于一个真实且完整的项目
为高级或架构型职位做准备的开发人员,其中领域建模和系统边界是关键任务
