Domain 驱动 设计

设计与多媒体 社区
解读按原文结构重写,命令、链接、术语均保留;右侧可核对作者原始 SKILL.md

原文结构

  • Core Principle:The code must speak the language of the domain. Every type, function, variable, and test name must use terms from the project's ubiquitous language (glossary). If a concept doesn't have a domain term, that's a modeling gap to discuss with stakeholders — not…
  • Where Does This Code Belong?:This is the most common decision in DDD. When unsure, use this framework: Question · If yes → · If no ↓ Does it enforce a business rule or compute a business value? · domain/ (entity function, value object, or domain service) · ↓
  • Ubiquitous Language & Glossary:DDD projects must maintain a glossary file that defines all domain terms. This is the single source of truth for naming. The glossary evolves as the model evolves — when the team discovers a better name or splits a concept, update the glossary first and let…

适用与边界

  • When to Use DDD:DDD adds value for complex domains with rich business rules. Not every project needs it. Use DDD when: Domain has complex business rules and invariants
  • Primary Test Boundary: The Use Case:Test by calling use cases with driven ports replaced by in-memory fakes (not mocks). This exercises domain entities, domain services, and orchestration together — proving the feature works as a whole. Domain unit tests complement use case tests for complex…
  • Enforcement Rules:All type and interface names must use glossary terms All function names must use glossary verbs and nouns All test descriptions must use domain language
  • Primary Test Boundary: The Use Case:Test by calling use cases with driven ports replaced by in-memory fakes (not mocks). This exercises domain entities, domain services, and orchestration together — proving the feature works as a whole. Domain unit tests complement use case tests for complex…

原文中的明确线索

  • 要点:「Deep-dive resources」、「complex domains」、「Use DDD when」、「Don't use DDD when」、「Start simple and evolve」、「The code must speak the language of the domain.」、「Domain models evolve.」、「The purity test is necessary but not sufficient.」
  • 文件与命令hexagonal-architectureresources/aggregate-design.mddomain-services.mddomain-events.mdbounded-contexts.mderror-modeling.mdtesting-by-layer.md

流狐整理:以上内容来自当前 SKILL.md 的章节与原词;未补写作者没有声明的工具、兼容性或能力。

流狐档案 作者与许可取自来源;运行、权限和网络为流狐检测或估算
流狐分类
设计与多媒体
作者声明 Agent
未找到明确声明;不据此推断已兼容或已测试
静态检查
88 / 100 · 启发式扫描,不代表运行安全
作者 / 版本 / 许可
@tomevault-io · 未声明 license
流狐 Token 估算
中等消耗
流狐接入估算
需简单配置
是否需要外部 API Key
未发现要求
检测到的系统要求
未声明
底层运行要求
未声明
检测到的文件与系统行为
  • 只读
  • 允许写入 / 修改
检测到的网络行为
仅限本地
安装命令数
无(仅作为资料)

档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。

需要注意: 未限定 allowed-tools,默认拥有全部工具权限。

输出预览 domain-driven-design.preview
作者没有在当前 SKILL.md 中定义固定输出样例。

讨论

基于 GitHub Discussions。登录 GitHub 即可参与讨论、点赞、订阅更新。