SuperAPI AI 工具集

modular-architecture

数据与分析

查看项目

更新于 10-16 00:23

技能介绍

用途:当需要构建模块化单体应用、定义模块(限界上下文)边界、设置模块间通信、实现端口与适配器(六边形)架构、隔离各模块数据库上下文、为内部领域事件配置 MediatR 时使用此技能。关键词包括:模块化单体、模块、限界上下文、端口与适配器、六边形架构、模块通信、数据隔离、独立 DbContext、MediatR、领域事件、集成事件、模块边界。

主要能力:按业务能力而非分层组织代码,每个模块自成纵向切片,拥有自己的领域实体与值对象、应用服务与处理器、基础设施实现以及对外通信的 DTO。模块划分为 Core(领域+应用+端口)、Infrastructure(持久化与适配器)和 DataTransfer(模块间通信 DTO)。核心原则:模块间不得互相引用 Core;用 DTO 传递数据;基础设施保持模块内部私有;共享内核保持最小。六边形架构通过端口(接口)与适配器(实现)分离业务逻辑与外部关注点,区分驱动端口与被驱动端口。模块通信分同步(查询用 DataTransfer API)与异步(状态变更加 MediatR 集成事件)两种;数据隔离采用每模块独立 DbContext,禁止跨模块外键与共享表,同一数据库可接受但需分 schema 或前缀,并接受最终一致性。MediatR 同时支撑模块内 CQRS 与跨模块集成事件;领域事件限模块内,集成事件用于跨模块通知。

使用方式:按标准目录创建 src/Modules/ 结构,定义最小 Shared.Kernel,为每个模块创建 Core、Infrastructure、DataTransfer 项目,配置各自 DbContext,注册 MediatR 与模块 API,添加架构测试强制边界。可与 event-storming 技能配合,将限界上下文实现为模块、事件转为集成事件;用 fitness-functions 技能强制模块边界。附有快速开始清单与多个参考文档(端口适配器、模块通信、数据模式、MediatR 集成)。

限制:资料未提供具体框架版本、性能数据、收费或价格信息,亦未给出完整可运行示例。