我們試圖找出場景中分離的有界上下文集成。DDD有界上下文「集成」
說一個上下文是文獻核心界上下文(BC)並且具有文獻實體,與作者。使用IdentityAccessContextBC如在Implementing DDD book中將用戶,組和角色分隔成它們自己的上下文是有意義的。
發生的問題是當考慮獲取說100+文檔的列表。
說文檔核心BC有它自己的實體來標記文檔的作者。
public class Author
{
long Id; // Same as UserId
long Document;
}
然後標識BC 有相關信息的用戶。
public class User
{
long Id;
string FullName;
}
當獲取的文獻列表,如何從IdentityAccessBC應該被檢索到/與文檔作者用於顯示(例如姓名)的信息?
似乎有是幾個選擇:
- 也許反腐敗層這兩個表中獲取數據?
- 在兩個BC的上覆制用戶的全名?
既然#1需要連接來自公元前2年的數據,而#2需要在更改用戶名時潛在更新幾個BC,否則感覺不太對。
可以做些什麼呢? (使用C#,MVC,NHibernate(如果有的話)) 清楚地獲取對象列表並稍後獲取例如以後作者的名字和其他數據是不現實的。
當在BC整合看,但是,鑑於在書中RPC,域事件,和RESTful服務集成提到的3個選項中,至少後者2不要在這種情況下有意義,其中應用程序是MVC,它直接使用2 BC作爲類庫,它們都使用相同的數據庫。更新用戶信息可以直接從MVC通過身份BC的應用程序服務完成。數據庫和BC可以根據需要更改。