2013-09-30 30 views
0

在該模型的體育賽事應該如何這種情況下進行處理,尤其是在使用沒有SQL數據庫文件來保存數據的上下文中的域模型。如何處理引用相同數據的兩個單獨的聚合根?

該系統的主要實體是季節,錦標賽組,錦標賽,錦標賽階段,比賽,球員。

賽季 - 賽季包含開始日期,結束日期,玩家的有序集合和錦標賽集合。

錦標賽組 - 一個錦標賽組包含錦標賽的集合,每個錦標賽只能屬於一個錦標賽組。我不確定這是否應該是一個實體。

錦標賽 - 錦標賽有一個開始日期,結束日期,有序的玩家集合和錦標賽階段的有序集合。

錦標賽階段 - 錦標賽階段有一個有序的比賽收集。不知道這應該是一個實體,它只是一個在錦標賽中分組比賽的方式。

比賽 - 比賽包含球員的集合。

這就是我對此感到困惑的原因,因爲我會說迄今爲止聚合根是季節,但會有我不知道播放器適合該模型的位置,我可能不會處理錦標賽組也可以。

需要爲賽季,錦標賽組和球員生成統計信息,例如:誰打進了一個賽季,誰得分最多的比賽組和其比賽,季節或比賽組,他得的多數在球員之最。

爲了得到這個數據我本來以爲玩家實體將有舉行錦標賽和比賽的參考,但這些參考也有助於賽季。這是可以接受的,如果一個聚合根中的數據在另一個聚合根中發生變化,那麼更新數據的最佳策略是什麼?

回答

1

這不是一個簡單的問題,因爲大多數的你描述什麼是您的域名與提示的行爲是什麼(但沒有連接到該行爲的重要性)一個詞彙來回答。如果您要寫下您的模型必須支持的每個方案(目前爲止您已知道),然後創建,挑戰&通過嘗試實現這些方案來演變該模型,最終會得到完全不同的結果從以上所述。可能有多個模型可以解決不同的問題。聚集是面向一組實體和值對象的行爲集羣,而不是您試圖將行爲改進的名詞。

如果我想給你任何建議,請將季節,錦標賽等的管理分開,從實際記錄實際賽季中發生的事情,報告任何類型的統計數據,這些統計數據可能需要在期間或在賽季結束。

相關問題