SuperAPI AI 工具集

ca-architecture-boundaries

设计与创作

查看项目

更新于 10-16 09:54

技能介绍

该技能在系统层面(层、边界、组件)应用整洁架构规则;模块层面(接口深度、信息隐藏)应使用 aposd-designing-deep-modules。

用途:分离业务逻辑与基础设施,设计系统边界,识别并修复架构违规。

主要能力:

  1. 按参与者划分 SRP。参与者是请求变更的一组用户或利益相关者;若一个类服务多个参与者,则为一人变更可能破坏另一人。对每个类问“谁请求变更它”,答案多于一个参与者就拆分。
  2. 仅在参与者边界内应用 DRY。跨参与者边界的重复比耦合更安全;不同参与者因不同原因变更的相同辅助逻辑应保留重复,合并会耦合两个参与者。
  3. 依赖规则:依赖指向内层,框架→适配器→用例→实体。内层不得知道外层;业务规则不得导入数据库、UI 或框架代码。业务逻辑需要调用基础设施时,在业务层定义接口,在基础设施层实现(依赖倒置)。
  4. 分离业务规则与基础设施:接口定义在业务层(使用处),具体类在基础设施层实现。用例依赖抽象 OrderRepository,基础设施层也依赖它,箭头指向内。

使用方式:按集成清单三阶段应用。阶段一识别:映射参与者并列其职责;识别关键业务规则归入实体;列出应用工作流归入用例;找出技术依赖(数据库、UI、框架)以隔离。阶段二划界:确认依赖均指向业务规则;业务逻辑能否脱离基础设施运行;变更是否与范围而非形状成比例。阶段三验证:SRP 每个类只对一个参与者负责;OCP 简单扩展无需修改现有代码;DIP 业务逻辑只导入抽象。

违规检测:可按项目目录结构调整以下命令。 业务逻辑中的框架耦合: grep -r "import.*servlet|import.*spring.*web|import.*express" src/domain/ grep -r "import.*sql|import.*mongoose|import.prisma" src/entities/ 领域层中的 ORM 注解: grep -r "@Entity|@Table|@Column" src/domain/ 以类型检查代替多态(限定领域目录,不要扫全部 src/): grep -r "instanceof|getType()|typeof.===" src/domain/ src/entities/

限制:资料未提供该技能的具体安装方式、运行平台、收费与价格信息。发现 SOLID 违规后,可见 cc-refactoring-guidance;边界绘制后进入 aposd-designing-deep-modules。