ddd是一種軟體設計方法,簡單來說,就是先建立一套業務領域的軟體模型,然後以此模型為核心進行軟體設計和開發。
ddd主要有以下幾個優點:
1、ddd會建立一套模型,即領域模型,這個模型是業務領域知識的濃縮,可以避免領域知識的流失。
2、ddd和物件導向程式設計高度契合,領域模型將一比一直接反映到**中,由此將擁有乙個純淨的領域概念層,業務邏輯都內聚在一起,這樣業務的**和技術的**就分開了,**閱讀和理解就變得so easy。
3、領域模型是領域專家和開發者共同協作的結果,也是他們之間溝通的載體,減少了團隊溝通的難度,還可以幫助團隊增加對業務的理解。
大家最常用的模式可能是事務指令碼,使用過程來組織業務邏輯,每個過程處理來自表現層的單個請求。
事務指令碼非常簡單,獲得輸入,查詢資料庫,處理資料,將結果儲存到資料庫,最後返回結果。
對於只有少量邏輯的應用程式來說,它足以勝任。但是當業務邏輯越來越複雜時,**的可讀性和理解難度將急劇公升高,最終導致生產力的下滑。
開始ddd
從實體開始
DDD領域驅動設計
公司裡面敏捷專案要講ddd領域驅動設計,加緊學習了一下,找了一些資料研究。eric evans的 domain driven design領域驅動設計 簡稱ddd,evans ddd是一套綜合軟體系統分析和設計的物件導向建模方法,本站jdon.com是國內公開最早討論ddd 之一,可訂閱 ddd專題...
DDD(領域驅動設計)
domain 領域 driven 驅動 design 設計 由eric evans最先提出,目的是對軟體所涉及到的領域進行建模,以應對系統規模過大時引起的軟體複雜性的問題。整個過程大概是這樣 開發團隊和領域專家一起通過 通用語言 ubiquitous language 去理解和消化領域知識,從領域知...
DDD領域驅動設計
極客時間學習筆記 為什麼微服務設計的時候需要ddd?1 軟體架構模式演進的三個階段 第一階段是單機架構 第二階段是集中式架構 第三階段是分布式微服務架構 2 在單機和集中式架構這兩種模式下,軟體無法快速響應需求和業務的迅速變化,最終錯失發展良機。3 微服務拆分困境產生的根本原因就是不知道業務或者微服...