detailed-domain-design

Installation
SKILL.md

细化领域设计

三件事有机结合:DDD 领域建模定概念与边界,SOLID 的关系模型定对象怎样协作,仓储设计定数据怎样进出。它们不是三份文档,是同一份设计的三个视角。

领域建模与关系模型每次设计都做,做不做形式化都一样。碰到状态与操作时先填全化表,再翻成这两样,不需要人确认。这一步的产出就是思维模型 think-model-first 的模型。设计做完先论证它是对的,再写代码,见「方案论证」。

领域建模

从领域影响分级表的重点领域开始,次要领域只建到履约必需的部分,连带领域只定接口。

  • 统一语言:每个概念一个名字,和需求与不变式单里的用法一致。改名要回去改单子。
  • 聚合与边界:谁拥有状态,谁发起变化,变化的原子范围是什么。跨聚合的一致性靠事件或流程,不靠跨聚合事务。
  • 领域不认识调用方:领域只按外部需求的本质提供服务,不知道调用它的是哪种会话、运行或代理。外部的业务事实由外部凭身份关联。
  • 外域概念只建到履约必需:消费的是契约、投影还是引用,在 spec 的跨域五问里定。

方法加载技能 mattpocock-skills:domain-modeling。

关系模型

Installs
1
GitHub Stars
1
First Seen
2 days ago