我有一個相當簡單的域,其中大約有7-8個主要實體可以識別,這些實體可以是他們自己的聚合根。但是將會出現一個UI屏幕,它將列出系統中所有對象的聯合,這意味着所有聚合的聯合。影響域設計的用戶界面問題
我想到的一種方法是使用組合,即所有其他聚合根所指的元數據聚合,這將是一個獨立的實體。因此,對於此屏幕,我可以查詢此聚合,我移到這個新聚合的字段是需要在我的「所有對象」網格中顯示的公共字段。
另一種方法可能是有通過查詢其他存儲庫,並在應用層合併名單,並處理尋呼等
我建立了「所有對象」屏幕中的必備單品的應用服務方法我對第一個解決方案感到不安,因爲我可以看到一個影響我的域名設計的UI用例,但是數據庫沒有處理分頁,合併列表等問題的繁瑣工作,並且沒有任何連接,所有這些信息都由一個單一的,簡單的查詢。
第二種解決方案雖然看起來更整潔,但在易用性和性能方面卻有所下降。
請指教。
我想你剛纔描述了一個讀寫應該分開的情況(你知道,那個叫cqrs的小模式)。 「所有對象」數據需要多少新鮮?你可以選擇顯式異步投影,或者定義一個數據視圖(有點像元數據的用途(btw,它不是一個聚合)),或者甚至在代碼中使用不同的路徑(查詢)來獲取數據你要。 –