我正在努力处理下面的域设计,因为我理解它们不符合DDD的概念。一方面,我有设备 - >传感器 - >测量层次结构,建模为带有设备的聚合,作为根,传感器作为实体,测量为VO。到现在为止还挺好。建模两个并行的聚合,实体和值对象层次结构
现在,每个设备都有一个类型,传感器也是如此。同时,测量是指测量的变量(例如温度)。这里是分开的地方。
我最初将类型建模为值对象,但有一组类型,许多设备和传感器共享相同的类型。
然后我决定将它们建模为一个聚合体,遵循与设备聚合体类似的结构:DeviceType-> SensorType-> Variable。但是,这不起作用,因为传感器可能会引用SensorType和Measurement to Variable,从而违反了仅允许从另一个聚合中引用聚合的根的规则。此外,可能发生的情况是,多于一个的DeviceType包括相同类型的传感器(例如电池充电传感器),并且多于一个传感器测量相同的变量(例如电池充电水平)。
这导致我将这些实体(DeviceType,SensorType,Variable)中的每一个作为独立的实体,每个实体都是它自己的(退化的)。
我的具体问题是:我是否正确地解释了Aggregate,Entity,VO的概念,还是将这种贫血的聚集体完全根植于反模式?
我认为这会有帮助,如果你发布了一些你到目前为止的代码。 – eulerfx 2012-07-31 00:09:29
到目前为止还没有代码。我仍然在对域进行建模。我试图提交一个图像,但系统不允许我这样做,因为我是一个新用户。 – pablochacin 2012-07-31 04:47:16
pablochacin,你有没有想出一个适合你的域名建模的方法?我也有类似的情况...... – oakman 2015-01-05 11:24:28