DDD中的共享功能

本文关键字:功能 共享 DDD | 更新日期: 2023-09-27 18:12:26

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

需要的功能是标签和用户组操作。

由于很多东西都是可标记的(用户、日志、文档等),因此在每个AR中重新创建该功能似乎是反dry的。如果有一个维护中央标签表的标签存储库,然后为所需的不同标签类型(即将标签关联到userId、journalId等)创建各种多对多表,或者甚至是一个记录关系类型的多对多表,这是否明智?如果是这样,是否需要修改域对象以保存到标记的链接?

组功能相似。有必要允许用户创建用户组,然后将组分配给非公共实体(期刊、文档等),以授予他们查看权限。

在项目中添加这个新功能的最好方法是什么?

DDD中的共享功能

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

DRY原则被表述为"在一个系统中,每一条知识都必须有一个单一的、明确的、权威的表示。"

通过分离,您可以促进DRY所涉及的知识的明确和权威的表示。