我正在研究我的第一個「真正的」DDD應用程序。DDD。用戶可配置設置屬於哪裏?
目前,我的客戶端無權訪問我的域層,並通過發出命令請求更改域。
然後我有一個單獨的(展平)閱讀模型來顯示信息(如簡單的CQRS)。
我現在正在處理配置,或者特別是用戶配置的設置。以博客應用程序爲例,設置可能是博客標題或徽標。
我開發了一個通用配置構建器,它基於一個簡單的鍵值對集合構建一個強類型的配置對象(例如BlogSettings)。我被困在這些配置對象是否是我的域的一部分。我需要從客戶端和服務器訪問它們。
我在考慮創建一個包含這些配置對象的「共享」庫。這是正確的方法嗎?
最後,保存此類配置設置的代碼應該在哪裏存在?一個簡單的解決方案是將這些代碼放入我的Domain.Persistence項目中,但如果它們不屬於域的一部分,它們是否應該在那裏?
感謝,
本
查看它的另一種方法可能是您有一個單獨的「配置」或「設置」有界上下文。這是一個邏輯分離,而不是物理分離。因此,您仍然可以使用各種技術(客戶端與服務器)來提供對上下文的訪問。但是,所有代碼都屬於上下文。 –
@YvesReynhout這是我們最終走的路線,有一個我們交互的配置上下文。然而,我們確實共享了配置對象 - 在這種情況下,分離會導致代碼的不必要的重複。 –
哦,但邏輯分隔不會導致代碼重複。它只是意味着有界的上下文負責代碼。如何部署有界上下文的代碼與這個事實是完全正交的(它可以與其他有界上下文的代碼一起完全託管在一個進程中)。 –