SuperAPI AI 工具集

vertical-slice-architecture

编程与开发

查看项目

更新于 10-16 01:29

技能介绍

用途:在构建应用时强制采用垂直切片架构(VSA),适用于 Go、.NET/C#、Java、Kotlin、TypeScript、Python 等语言及多种应用类型。

主要能力:围绕五条规则组织代码——一个功能对应一个目录,内含处理器、请求/响应类型、校验和测试;每个功能一个入口点(接收路由与依赖的注册函数,名称可为 Setup、RegisterRoute、Map 等,角色不变);切片间最小耦合、切片内最大耦合;不做过早抽象,直到多个切片出现真实重复才提取共享逻辑;主要通过入口点测试每个功能,验证结果(数据库状态、API 调用、响应),也鼓励平台/适配器测试。

使用方式:项目结构通常为 features/{domain}/{operation}/,包含 handler、request/response、validator、test、internal;platform/ 存放中间件、数据库、可观测性、操作队列等横切关注点;main 作为组合根连接功能与基础设施。新增功能时创建目录、定义带单一导出 setup 函数的 handler、定义请求/响应类型、添加校验、在组合根注册、编写调用 setup 函数的集成测试。横切关注点放入 platform/。仅在多个切片出现真实重复时提取共享逻辑(如重复业务规则提取为领域实体/值对象,重复数据访问提取为共享仓库,重复 HTTP 辅助提取到 platform/httpx/)。

入口点约定:Go 用 Setup 或 RegisterRoute,显式参数;.NET 用静态 Map,DI 容器解析依赖;Java/Kotlin 用 @RestController 类,组件扫描发现,Spring 构造器注入;TypeScript 用 setup,显式参数;Python 用 setup,显式参数或 Depends()。版本化 API 可用 SetupV1/SetupV2 包装共享内部接线;Spring、NestJS 等自动发现框架以控制器/模块类本身为入口点。

限制:资料未提供具体安装命令、收费、价格或平台信息;各语言详细模式、测试策略与核心原则需查阅 references/patterns-by-language.md、references/testing.md、references/principles.md。