我正在努力處理下面的域設計,因爲我理解它們不符合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