2008-10-14 81 views
4

上下文: 所以,我試圖建立一個可笑的複雜領域模型。與用戶交談時,系統有多種使用方式(例如:一種方式是從員工的角度來看,另一種方式是從僱主的角度來看)。實際上,它們是重複使用核心域的多個應用程序。實體透視

問題: 從多個角度創建域是否是錯誤的?例如,在業務運行時構建域將意味着創建各種關係類,它們攜帶關於實體的額外信息,等等......但是,從特定角度運行時,圖片更清晰,因爲大部分關係類可以放入其父實體中。

想法?反駁?我完全脫離基地嗎?

回答

4

不,這是絕對合適的。埃文在他的書中稱這些「觀點」爲界限。

而不是有一個非常複雜的領域模型,嘗試建立一個簡單的,以一種特定的方式很好地解決了領域。有界上下文可以鏈接在一起形成一個更小,更簡單,直接的域模型。

+0

我有埃裏克的書,顯然忘記了那一章。感謝您的指導。 – 2008-10-14 17:39:46

2

我不認爲你應該嘗試預先定義'核心領域'。讓它出現在開發過程中。此外,任何對於2(或更多)觀點不共同的東西都不應該在'核心'中。

例如,從employeer的角度構建系統的一部分。這可能會提示您創建實體,如「項目」,「任務」和「客戶」。然後從employeer的角度構建一部分。這可能會提示您構建新實體,並重新使用「項目」和「任務」。那時候我會把'Project'和'Task'移到系統其他部分共享的'核心庫'上。

有時你會找到共同的實體,但以不同的方式相關。在這種情況下,關係應該由上下文注入,而不是與實體本身一起構建。