天天看點

領域驅動設計之限界上下文的識别過程

  在DDD模組化和系統建設中有很多參與者,不同的參與者對同樣的領域知識會有不同的了解,這樣容易造成交流障礙,基于這個原因,DDD出現了通用語言和限界上下文兩個概念。通用語言定義上下文含義,限界上下文定義領域邊界,保證每個上下文的含義在特定的邊界内有唯一含義,領域模型則存在這個邊界之内。限界上下文确定了程式設計和拆分的方向。如果不考慮技術異構、團隊溝通等外部因素,一個限界上下文理論上可以設計為一個子產品或一個微服務。限界上下文是定義領域邊界的利器。對限界上下文的通俗了解:用來封裝通用語言和領域對象,提供上下文環境,保證在領域之内的一些術語、業務相關對象等(通用語言)有确切的含義,沒有二義性。這個邊界定義了模型的适用範圍,使團隊所有成員能夠明确地知道什麼應該在模型中實作,什麼不應該在模型中實作。

如何探索限界上下⽂?

1. 基于前⾯輸出的聚合和領域模型, 判斷這些領域模型要解決的業務問題, 這些問題是否為同⼀個問題,如果是 則放到⼀個限界上下⽂中(⼀個問題 對應⼀個限界上下⽂),如果為否則 拆分到不同的限界上下⽂中;

2.如果⼀個聚合(領域模型)同時解 決多個問題時,則需要根據限界上下 ⽂的劃分原則(後⾯⼏⻚會較長的描述) 對聚合(領域模型)進⾏拆分,拆分 後對應的領域模型劃分到不同的限界 上下⽂中;

3.上⾯環節中所定義的問題⼤⼩(需 考慮問題的變化原因、内在邏輯等) 需與領域專家共同讨論完成。

領域驅動設計之限界上下文的識别過程

繼續閱讀