DDD和数据\逻辑复制

时间:2019-11-25 14:00:02

标签: language-agnostic domain-driven-design

我正在尝试DDD + CQRS \ ES,并尝试实施一个相当简单但可行的项目。根据数据重复(可能是错误的建模),我有很多问题。

因此,我正在做一个特定的域信息门户,该门户允许社区添加和编辑信息。这里的域是垂直绘图仪及其使用信息。

所以,目前我至少有两个有界上下文:  1.耗材兼容性信息部分  2.具有社区发布图像的矢量图像部分

在第一部分,例如,我们有Markers AR。每个标记都有一个品牌,型号,可用颜色信息,表面类型和设备兼容性信息。

稍后我希望允许提供正确的信息,除了Model这些属性都是实体:

  • 品牌
  • 设备
  • 颜色(这里我们不仅有rgb \ hex,还有颜色名称)
  • 表面类型(灰泥,玻璃,乙烯基等)

每个设备都具有品牌和支持的表面类型属性。

在第二部分中,我们有图像,每个图像都具有支持的设备和使用的颜色属性。

因此,据我所知,我应该将这两个有界上下文中的一个设置为主数据,并以只读方式以另一种形式复制数据和逻辑(因此在第一个中编辑它们,在第二个中订阅事件并触发有自己的事件来编辑本地“缓存”)。甚至将所有列出的通用实体放入自己的BC中,并放入两个主要BC中的“只读”逻辑中。

唯一令我困扰的是,将会有很多代码重复,并且这些“属性”子域非常简单,并且没有很多逻辑(但是仍然有一些逻辑:例如,一个可以如果存在链接的实体,则删除品牌或颜色。

我要朝正确的方向前进吗?

我已经阅读了很多其他问题,并且阅读了许多有关该主题的书,但是仍然有疑问。

P.S。我完全意识到CQRS \ ES对于这种规模的项目来说是一个过大的杀手,但是我将把它用作开放源代码研讨会和一种教程,因为我没有看到或多或少的复杂应用程序示例用功能语言当前代码已经在github上了,但是这个问题完全与语言无关,所以我不发布链接。

0 个答案:

没有答案