我正在考虑为DDD项目添加功能,但我不确定最适合它的方法。
所需的功能是标记和用户组操作。
由于许多东西都是可标记的(用户,期刊,文档等),因此在每个AR中重新创建该功能似乎是反DRY。拥有一个标记存储库来维护一个中心标记表,然后为所需的不同标记类型(即将标记与userId,journalId等关联)或者甚至可能是一个多个标记表,这是明智的吗?许多记录关系类型的表。如果是这样,是否必须修改域对象以保存指向标记的链接?
群组功能类似。需要允许用户创建用户组,然后将组分配给非公共实体(日志,文档等),以便为他们提供查看访问权限。
将这项新功能添加到项目中的最佳方法是什么?
答案 0 :(得分:2)
为标记和组功能设计单独的有界上下文。
答案 1 :(得分:2)
DRY原则被称为“每一条知识必须在系统中具有单一,明确,权威的表示。”。
通过分离,您可以宣传DRY所具有的知识的明确和权威的表达。