关于 ddd-tactical-patterns
ddd-tactical-patterns 是一项开发技能,帮助将业务规则转化为战术领域驱动设计代码结构。它着重处理不变量、领域对象行为、聚合边界、仓储和领域事件。
主要功能
- 01围绕不变量设计聚合
- 02建模经过验证的不可变值对象
- 03将行为保留在领域对象中
- 04为状态转换发出事件
- 05以聚合边界划定仓储
适用场景
- 01重构贫血领域模型
- 02定义聚合边界和不变量
- 03划定仓储与领域事件边界
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill ddd-tactical-patterns安装后在 Claude Code 中输入/ddd-tactical-patterns确认已加载。
附带文件references/tactical-checklist.md
详细介绍
DDD 战术模式
何时使用此技能
- 将领域规则转化为代码结构。
- 设计聚合边界与不变量。
- 将贫血模型重构为行为丰富的领域对象。
- 定义仓储契约与领域事件边界。
何时不要使用此技能
- 你仍在定义战略边界。
- 任务仅是 API 文档或 UI 布局。
- 完整的 DDD 复杂度并不合理。
说明
- 首先识别不变量,并围绕它们设计聚合。
- 为经过验证的概念建模不可变值对象。
- 将领域行为保留在领域对象中,而不是控制器中。
- 为有意义的状态转换发出领域事件。
- 将仓储保持在聚合根边界处。
如果需要详细检查清单,请打开 references/tactical-checklist.md。
示例
class Order {
private status: "draft" | "submitted" = "draft";
submit(itemsCount: number): void {
if (!Number.isInteger(itemsCount) || itemsCount <= 0) throw new Error("Order cannot be submitted empty");
if (this.status !== "draft") throw new Error("Order already submitted");
this.status = "submitted";
}
}
限制
- 此技能不定义部署架构。
- 它不选择数据库或传输协议。
- 它应与测试模式配合使用,以实现不变量覆盖。
评论
支持 Markdown