领域建模(Domain Modeling)是一项在设计中主动构建并持续打磨项目领域模型的技能。它的核心在于改变模型,而不仅仅是消费模型中已有的词汇。
【用途】当团队讨论代码库术语、编写或编辑 GLOSSARY.md 或遗留上下文文件、记录或更新架构决策时,可使用该技能来澄清和固化领域语言。
【主要能力】
- 对照词汇表提出质疑:当用户使用的术语与 GLOSSARY.md 中已有定义冲突时,立即指出并请用户确认。
- 锐化模糊语言:对含糊或含义过载的词语,提出精确的规范术语,例如区分 Customer 与 User。
- 讨论具体场景:通过构造边界场景来压力测试领域关系,迫使用户明确概念之间的边界。
- 与代码交叉核对:当用户描述系统行为时,检查代码是否一致,若发现矛盾则提出。
- 即时更新词汇表:术语一经确定就立即写入 GLOSSARY.md,不批量延迟处理。
- 谨慎提供 ADR:仅当决策同时满足难以逆转、缺少背景会令人困惑、属于真实权衡结果三个条件时才记录架构决策记录。
【使用方式】技能会先读取项目的产物契约以确定文件位置。在只读工作中,解析并消费上下文而不做编辑;在设计或实现工作中,将已确定的词汇、关系和限定性决策持久化到配置的产物中。单上下文仓库通常在根目录使用 GLOSSARY.md 与 docs/adr/;若根目录存在 GLOSSARY-MAP.md,则表示仓库有多个上下文,地图会指向各上下文的位置。产物按需惰性创建,仅在确有内容需要记录时创建。词汇表应完全不包含实现细节,它不是规格说明或草稿本,只是词汇表。
【适用场景】讨论代码库术语、编写或编辑词汇表与遗留上下文文件、记录或更新架构决策、在设计中改变领域模型。
【限制】仅阅读 GLOSSARY.md 获取词汇不属于该技能的范畴;若三个 ADR 条件任一不满足则跳过 ADR;未解决的冲突应保持显式记录。
【完成标准】已接受的术语和模型变更反映在配置的产物中,符合条件的决策有唯一持久记录,未解决的冲突保持明确。