关于 architecture-paradigms
architecture-paradigms 根据系统需求与背景,帮助团队筛选架构范式并指向对应的实施技能。它涵盖可测试性、团队自主性、灵活性和复杂度等考量,也说明 DDD 与结构性范式的区别。
主要功能
- 01按场景推荐架构范式
- 02评估需求与系统背景
- 03区分 DDD 和结构性范式
- 04链接范式专属实施技能
- 05支持 ADR 与实施规划
适用场景
- 01为新系统选择架构方案
- 02为重构确定目标范式
- 03准备 ADR 或实施计划
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill architecture-paradigms安装后在 Claude Code 中输入/architecture-paradigms确认已加载。
详细介绍
不适用场景
- 已经选定了架构范式,因此直接使用该范式的技能
- 根据 ADR 审查现有设计(使用
pensive:architecture-review)
架构范式路由器
此技能可帮助你选择适合系统的架构范式,然后引导你使用相应的范式技能了解实现细节。
快速场景路由
根据需求匹配推荐的范式:
| 你的场景 | 主要范式 | 加载技能 |
|---|---|---|
| 包含多个团队的企业应用 | 微服务或模块化单体 | architecture-paradigm-microservices 或 architecture-paradigm-modular-monolith |
| 复杂业务规则与测试 | 函数式核心、命令式外壳 | architecture-paradigm-functional-core |
| 实时/事件处理 | 事件驱动架构 | architecture-paradigm-event-driven |
| 遗留系统现代化 | 六边形架构(端口与适配器) | architecture-paradigm-hexagonal |
| 云原生/突发性工作负载 | 无服务器架构 | architecture-paradigm-serverless |
| ETL/数据处理管道 | 管道架构 | architecture-paradigm-pipeline |
| 简单 CRUD 应用 | 分层架构 | architecture-paradigm-layered |
| 命令/查询分离 | CQRS 与事件溯源 | architecture-paradigm-cqrs-es |
| 需要建模的丰富业务规则 | 领域驱动设计 | architecture-paradigm-domain-driven |
**其中有一个与众不同。**领域驱动设计回答的是 “有哪些概念,以及我们如何称呼它们”。其余范式回答的是“代码 应该放在哪里”。DDD 通常与分层、六边形或模块化单体等结构范式 结合使用,而不是与之竞争,因此选择 DDD 并不意味着要排除其他范式。
三步选择工作流
第 1 步:明确需求
主要关注点(可多选):
- 可测试性:隔离业务逻辑 →
functional-core或hexagonal - 团队自主性:独立部署 →
microservices或modular-monolith - 基础设施灵活性:替换数据库/框架 →
hexagonal - 实时扩展:使用事件处理可变负载 →
event-driven或space-based - 简单性:易于维护且不增加复杂性 →
layered或modular-monolith - 遗留系统集成:与现有系统协作 →
hexagonal或microkernel
系统背景:
- 团队规模:
< 5→ 分层/函数式核心 |5-15→ 模块化单体 |15-50→ 微服务 |50+→ 微服务/空间架构 - 领域复杂度:
简单→ 分层 |中等→ 六边形/模块化单体 |复杂→ 函数式核心/CQRS |极其复杂→ 微服务/事件驱动
第 2 步:评估架构范式
根据第 1 步中的需求,查看以下选项:
适用于可测试性和业务逻辑
- 加载
architecture-paradigm-functional-core- 将业务逻辑与基础设施隔离 - 加载
architecture-paradigm-hexagonal- 明确划分领域和基础设施边界
适用于团队自主性
- 加载
architecture-paradigm-microservices- 独立部署和扩展 - 加载
architecture-paradigm-modular-monolith- 无需承受分布式系统的复杂性即可实现团队自主性
适用于基础设施灵活性
- 加载
architecture-paradigm-hexagonal- 无需更改领域即可替换基础设施
适用于简单性和可维护性
- 加载
architecture-paradigm-layered- 简单且广为人知的分层方式
适用于丰富的业务规则
- 加载
architecture-paradigm-domain-driven- 使用业务自身的语言对业务进行建模。将其与上面选定的任一结构性范式结合使用;它不能替代结构性范式。如果领域只是围绕表单进行 CRUD,则无需采用,因为模型只会变成换了个名字的架构。
适用于实时事件处理
- 加载
architecture-paradigm-event-driven- 可扩展的解耦处理 - 加载
architecture-paradigm-space-based- 使用内存数据网格实现线性扩展
适用于遗留系统集成
- 加载
architecture-paradigm-microkernel- 用于可扩展平台的插件架构 - 加载
architecture-paradigm-hexagonal- 用于对接外部系统的适配器
第 3 步:加载范式技能以进行实现
选定范式后,加载相应的技能以获取详细指导:
# Example: You selected Hexagonal Architecture
Skill(archetypes:architecture-paradigm-hexagonal)
各个范式技能提供:
- ✅ 完整的实现指南
- ✅ ADR 模板
- ✅ 迁移检查清单
- ✅ 代码示例
- ✅ 测试策略
- ✅ 风险评估
可用的范式技能
| 范式 | 复杂度 | 团队规模 | 最适用于 | 技能名称 |
|---|---|---|---|---|
| 函数式核心 | 中 | 小型至大型 | 复杂业务逻辑 | architecture-paradigm-functional-core |
| 六边形架构 | 中 | 小型至大型 | 基础设施变更 | architecture-paradigm-hexagonal |
| 分层架构 | 低 | 小型至中型 | 简单领域 | architecture-paradigm-layered |
| 模块化单体 | 中 | 中型至大型 | 演进中的系统 | architecture-paradigm-modular-monolith |
| 微服务 | 高 | 大型 | 复杂领域 | architecture-paradigm-microservices |
| 事件驱动 | 高 | 中型至大型 | 实时处理 | architecture-paradigm-event-driven |
| CQRS 和 ES | 高 | 中型至大型 | 审计追踪 | architecture-paradigm-cqrs-es |
| 基于服务 | 中 | 中型 | 粗粒度服务 | architecture-paradigm-service-based |
| 无服务器 | 中 | 小型至中型 | 云原生/突发负载 | architecture-paradigm-serverless |
| 微内核 | 中 | 小型至中型 | 插件系统 | architecture-paradigm-microkernel |
| 空间式架构 | 高 | 大型 | 线性扩展 | architecture-paradigm-space-based |
| 管道式架构 | 低 | 小型至中型 | ETL 工作流 | architecture-paradigm-pipeline |
| 客户端-服务器 | 低 | 小型 | 传统应用 | architecture-paradigm-client-server |
| 领域驱动设计 | 中 | 小型至大型 | 丰富的业务规则(与上述范式结合使用) | architecture-paradigm-domain-driven |
与其他技能集成
- 架构评审:先使用此技能选择范式,然后使用
/architecture-review进行评估 - 实现规划:在此处选择范式,然后使用
/writing-plans详细分解任务 - 重构:在此处确定目标范式,然后使用相应的范式技能制定迁移策略
退出标准
- 至少选择一种范式,并给出明确的理由
- 已加载相应的范式技能以获取详细指导
- 已准备好创建 ADR 或实现计划
后续步骤
- 加载特定范式技能 - 使用
Skill(archetypes:architecture-paradigm-NAME) - 生成 ADR - 使用该范式的 ADR 模板
- 创建实施计划 - 使用该范式的迁移清单
- 设置监控 - 根据范式指南跟踪成功指标
评论
支持 Markdown