我正在做一个项目,我正在尝试利用领域驱动设计的概念。
我有以下域模型:(这个问题被简化了)
让我先解释一下系统。
该系统用于监控来自网关的数据。在这种情况下,有两个网关,但实际上可能有更多。每个网关都有自己的实现,因此也有自己的实体。
系统示例如下:
一家公司有一个监控船舶数据的项目。
所以他们有两个网关。具有typeField-Device-Gateway 的网关和具有typeHTTP-Client-Gateway 的网关。
第一个网关(现场设备网关)可以有多个现场设备。现场设备是船上的小型设备。该设备接收来自船上设备的所有数据。这是通过必须在系统中设置的源(如地址)。
第二个网关 (http-client-gateway) 可以有多个 HTTP 客户端。每个客户端可能有多个路由。
所以,网关也有变量。变量是用于获取特定数据集的配置。device因此,在 field-device-gateway 上可能是一个变量,指定从特定的、从特定的field device source、从特定的获取整数数据field device。
系统将使用新变量向现场设备发出请求。然后现场设备知道要发送什么数据。它将被系统接收并存储在数据库中。
那么,我在问什么?
目前,一切都是耦合的。我需要定义边界然后聚合,但我只是不知道从哪里开始。
如果我不创建边界,这只会变成一个巨大的耦合混乱,并且很难进行聚合。
那么,界限是什么?那么聚合呢,甚至还有聚合吗?一切都是它自己的集合体吗?
如果一切都是它自己的聚合,我该如何执行一些业务逻辑,例如:只有存在网关、项目和公司时,变量才能存在。
