ddd中的子域和界限上下文

咱們先來講說子域是什麼?子域在個人理解是在一個龐大的系統中能夠明顯感知的不一樣的區塊,若是在電商模塊中,商品目錄,訂單,物流,庫存,發票等等均可以感知他們明顯的不一樣,能夠認爲是子域。那麼二手車領域,個人感受,汽車目錄,汽車檢測,汽車預定,我的汽車購買,我的汽車售賣能夠認爲是子域。產品

那麼界限上下文是什麼?上下文的意思就是說一個概念在一個上下文中所關注的是一種意思,到了另外一個上下文中所關注的是另外一種意思。任何互聯網產品都會有用戶這個概念,可是這個概念在不一樣的上下文中可能就徹底不同,好比買家和賣家就是在不一樣上下文中的意義。若是一個概念在兩個子域中都同樣,那就有可能這兩個子域屬於同一個上下文。電商

先來講一下一個概念在不一樣的子域屬於不一樣上下文的例子,好比顧客在電商系統中,在購買時,可能表示的是他過往的購買記錄,消費水平,折扣這些。而購買以後可能表示名字,地址,購買價格等等。二手車中,汽車在用戶檢索時可能包含品牌,型號,價格。在用戶看車的時候可能包含發動機,油耗,外觀,內飾等等各類東西。若是區分不清楚界限上下文,咱們可能把不一樣子域的相同概念給建模成了同一個東西,這樣就把事情搞複雜了。互聯網

通常系統中都有用戶和權限的東西,但這種東西在界限上下文中均可能在子域中與各類協做人員發生耦合。用戶和權限與協做活動沒有任何關係,而且與協做的通用語言也風馬牛不相及。在協做上下文中出現的每一種概念都必須與協做存在語言層面上的關聯。咱們應該關注的是協做概念,好比做者和主持者,這些纔是協做活動中的正確概念和語言。權限

相關文章
相關標籤/搜索