2013-07-16 28 views
1

我正在閱讀Implementing Domain Driven Design並且正在苦於上下文映射的概念。上下文之間的通信

本書描述不同上下文如何交流的語言,「RESTful」,「Open Host Service」,「另一個團隊」讓我懷疑我是否還有不止一個上下文。

這只是我的一個開始,所以沒有其他團隊,但我仍然想將我的項目分割到上下文中,但顯然他們需要溝通。

上下文將被部署在一個進程中,因此他們可以簡單地調用其他方法,因此在每個上下文之間不需要Web服務,但本書的上下文映射部分似乎沒有處理這個問題。

因此,是否有這些上下文如何交流的名稱,或者是我正在描述的內容,因此清楚地說明了一個上下文,因爲它是一個團隊而不是Web服務。

回答

2

無論實際的傳輸實現(進程內或HTTP)如何,上下文映射都適用。即使你是一個團隊,你當然也可以有多個有界的上下文。本書涵蓋了更復雜的集成場景,以解決協調多個團隊的困難,但是這些原則無論如何都適用。例如,一旦您在單個應用程序中實現了多個上下文,您可能希望將它們相互隔離,僅用於封裝目的。如果是這樣,那麼創建一個HTTP服務來公開每個上下文的已發佈功能是一個選項。即使只有少數開發人員在代碼庫上工作,這也是可取的。你應該考慮的是你是否實際上有多個有界的上下文。例如,您可能有多個模塊,這是在單一模型中分配責任的一種方式。

+0

謝謝,我會堅持這本書,當我到達那裏時,我一定會注意到Module,因爲這可能會更適合我的情況。 – user2586804

+0

把有界的情境想象成一個無處不在的語言是一致的邊界。 。 – JefClaes

2

有界上下文關於模型。單一模型?單邊界上下文。多個模型?多重有界上下文。

團隊組織在定義這些上下文的範圍時發揮作用。一個團隊可以在多個環境中工作,並且(非常謹慎)多個團隊可以在相同的環境中工作。關鍵是要明確這一點。

如何集成有界上下文(webservices,in-process等)真的沒有關係。重要的是上下文之間的關係類型 - 這將進入您的上下文映射。