DDD中的共享功能

时间:2011-10-25 14:27:52

标签: c# tags domain-driven-design dns repository

我正在考虑为DDD项目添加功能,但我不确定最适合它的方法。

所需的功能是标记和用户组操作。

由于许多东西都是可标记的(用户,期刊,文档等),因此在每个AR中重新创建该功能似乎是反DRY。拥有一个标记存储库来维护一个中心标记表,然后为所需的不同标记类型(即将标记与userId,journalId等关联)或者甚至可能是一个多个标记表,这是明智的吗?许多记录关系类型的表。如果是这样,是否必须修改域对象以保存指向标记的链接?

群组功能类似。需要允许用户创建用户组,然后将组分配给非公共实体(日志,文档等),以便为他们提供查看访问权限。

将这项新功能添加到项目中的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

为标记和组功能设计单独的有界上下文。

答案 1 :(得分:2)

DRY原则被称为“每一条知识必须在系统中具有单一,明确,权威的表示。”。

通过分离,您可以宣传DRY所具有的知识的明确和权威的表达。