【发布时间】:2012-07-12 08:06:36
【问题描述】:
DDD 上的所有材料都将其指定为严格的不,但我最近遇到了一个场景,它为以其他方式思考提供了令人信服的理由。想象一下 2 个聚合根模板和文档,其中 Template --> (1:n) TemplateParam, Document --> (1:n) ParamValue 和最后 2 个根有一个引用 Document --> (n:1) Template。
给定聚合根约束ParamValue 不应该保留对TemplateParam 的引用,只有它可以通过通过Template 聚合根获得的临时引用来引用它。现在,如果我想强制执行一个规则,例如“文档的每个 ParamValue 应该引用一个有效的 TemplateParam,该 TemplateParam 属于其拥有的文档所引用的模板”。理想情况下,在数据库级别,我会让 ParamValue 对 TemplateValue 进行 FK,如何在 DDD 范式中做到这一点??
【问题讨论】: