2013-05-14 43 views
0

我已經開始閱讀藍皮書的幾章,並閱讀了紅皮書(實現域驅動設計)的前三章。我有兩個問題:具有多種有界上下文和項目結構的子域

(1)子域可以有多個有界的上下文嗎?我特別關注實施域驅動設計書中的例子,其中有一個與庫存耦合/重疊的預測子域排序。 (如果你還沒有讀過這本書,請諒解,但是這個想法是在兩個有界的環境之間有一個強烈的重疊)。 (2)如何組織我的項目解決方案結構(我正在使用.net),有沒有我可以看到的真實世界項目的任何示例?我應該創建文件夾,即子域,核心域,通用域,然後指定它下面的模塊?我正在努力如何最好地定義我的結構,以便顯示洋蔥/六角形圖層到位。

在此先感謝。

回答

1
  1. 是的。域由多個子域組成(如果它足夠複雜),每個子域實際上是一組有界的上下文。從應用程序的角度來看,域本身可以被認爲是一個有界的上下文(BC)。 BC不等於它包含一個獨特的模型,而是一個具體的商業概念表示。因此,您可以在多個BC中擁有圖書定義,但在每個定義中,定義略有不同,從完整的詳細信息到只是一個ID。因此,例如,來自庫存的圖書與來自銷售的圖書不同。重要的是BC如何理解一個概念。 生成的模型僅在該BC中有效,儘管它可以與來自另一個BC的模型具有相同的名稱。但這就是命名空間的用途。

  2. 沒有這方面的配方,每個人都構建他們的項目他們看起來合適。但大多數情況下,您至少會有一個Domain項目和UI,Persistence,Infrastrcuture項目。我認爲最好的結構取決於應用程序,以及開發人員如何看待我的做法可能不適合您。簡而言之,構建應用程序,因爲它對您有意義。

相關問題