領域驅動設計 學習筆記一

2021-09-24 06:19:00 字數 661 閱讀 8872

第四章:分離領域

程式**必須包括:

(1) 在螢幕上繪製乙個螢幕元件(widget);

(2) 查詢資料庫,調出所有可能的 城市;

(3) 解析並驗證使用者輸入;

(4) 將所選城市與貨物關聯;

(5) 向資料庫提交此次資料修改。 上面所有的**都在同乙個程式中,但是只有一小部分**與運輸業務相關。

4個常用概念層:

使用者介面層(或表示層): 負責向使用者顯示資訊和解釋使用者指令。這裡指的使用者可以是另乙個計算機系統, 不一定是使用使用者介面的人

應用層: 定義軟體要完成的任務,並且指揮表達領域概念的物件來解決問題。這一層所負 責的工作對業務來說意義重大,也是與其他系統的應用層進行互動的必要渠道 ;應用層要盡量簡單,不包含業務規則或者知識,而只為下一層中的領域物件協調 任務,分配工作,使它們互相協作。它沒有反映業務情況的狀態,但是卻可以具有 另外一種狀態,為使用者或程式顯示某個任務的進度

領域層(或模型層) : 負責表達業務概念,業務狀態資訊以及業務規則。儘管儲存業務狀態的技術細節 是由基礎設施層實現的,但是反映業務情況的狀態是由本層控制並且使用的。領域 層是業務軟體的核心

基礎設施層:為上面各層提供通用的技術能力:為應用層傳遞訊息,為領域層提供持久化機制, 為使用者介面層繪製螢幕元件,等等。基礎設施層還能夠通過架構框架來支援4個層次 間的互動模式

領域驅動設計 學習筆記

模型設計 1 分解概念 2 聯絡起來 設計要點 1 軟體的核心是它為使用者解決領域相關問題的能力 2 沒有持久化內容,也沒有使用者介面,這使得我能夠專注於行為本身 先中間,後兩頭 的做法。重點考量領域問題,最後在進行ui和持久化結構的設計 3 當發現模型能夠明確所有細節意義的抽象概念時,這項工作就獲...

領域驅動設計學習筆記 1

關聯簡化,從而讓模型更清晰 指定乙個導航的方向 加入限定符減少關聯的多重性 清除不必要的關聯 模型分為實體,值物件,服務物件三種 實體應具有唯一標識 id 來進行區分 值物件則為只關心它們是什麼,而不關心它們誰是誰的物件,所以不需要分配標識。通常是臨時物件,經常作為實體的屬性和其他值。設計時需要對複...

領域驅動設計學習筆記 1

關聯簡化,從而讓模型更清晰 指定乙個導航的方向 加入限定符減少關聯的多重性 清除不必要的關聯 模型分為實體,值物件,服務物件三種 實體應具有唯一標識 id 來進行區分 值物件則為只關心它們是什麼,而不關心它們誰是誰的物件,所以不需要分配標識。通常是臨時物件,經常作為實體的屬性和其他值。設計時需要對複...