2004 年,那是在曆史上也許并不起眼的一年。那一年 Eric Evans 發表了《領域驅動設計》一書,标志着 DDD (領域驅動設計)的誕生。但 DDD 的誕生并沒有馬上在軟件設計領域激起水花。直到多年後 Martin Fowler 提出了微服務架構後,DDD 才開始正式開啟了屬于自己的時代。随着微服務設計方法的發展,DDD 也漸漸火爆起來。
那麼,到底什麼是 DDD ?
DDD 并不是一種架構,而是一種架構設計的方法論,是一種設計思想。它通過圍繞業務概念構建領域模型,實現對業務複雜性的控制,将技術實現的複雜性分離開,簡化複雜的業務領域,設計出清晰的應用與領域邊界,以解決各種業務問題和保持軟件的演化能力。
DDD 又分為戰略設計和戰術設計
戰略設計是指通過站在業務視角去分析問題,通過事件風暴去識别并建立起業務領域模型。根據領域實體間的業務關聯形成聚合,并在各個聚合之間建立起邊界。根據業務和語義邊界,将一個或數個聚合分配在不同的限界上下文中。
戰術設計是指站在技術的視角,關注領域模型的具體落地實現,設計出實體、值對象、聚合根、領域服務、應用服務化、資源庫等代碼與邏輯細節。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!