在物件導向的程式中,使用者介面(ui)、資料庫和其他支援**,經常被直接寫到業務物件中去。在ui和資料庫指令碼的行為中嵌入額外的業務邏輯。出現這種情況是因為層短期的觀點看,它是使系統執行起來的最容易的方式。
當與領域相關的**和大量的其他**混在一起時,就很難閱讀並理解了。對ui的簡單改動就會改變業務邏輯。改變業務規則可能需要小心翼翼地跟蹤ui **、資料庫**或者其他的程式元素。實現一致的模型驅動物件變都不切實際,而且自動化測試也難已使用.如果在程式的每乙個行為中包括了所有的技術和邏輯,那麼它必須很簡單,否則會難以理解。
使用者介面層
負責向使用者顯示資訊,並且解析使用者命令。外部的執行者有時可能會是其他的計算機系統,不一定非是人
應用層
定義軟體可以完成的工作,並且指揮具有豐富含義的領域物件來解決問題。這個層附負責的任務對業務影響深遠,對跟其他系統的應用層進行互動非常必要。這個層要儲存簡練。它不包括處理業務規則或知識。只是給下一層中相互協作的領域物件協調任務、委託工作。在這個層次中不反映業務情況的狀態,但反映使用者或程式的任務進度的狀態
領域層
負責表示業務概念、業務狀況的資訊以及業務規則。儘管儲存這些內容的技術細節由基礎結構層蘭完成。反映業務在的狀態在該層中被控制和使用。這一層是業務軟體的核心
基礎結構層
為上冊提供通用的技術能力;應用的訊息傳送、領域持久化,為使用者加盟繪製視窗等。提供架構框架,基本結構層還可以支援這四層之間的互動模式
在乙個複雜的程式進行層次劃分。為每一層進行設計,每層都是內聚的而且只依賴於它的下層。採的用標準的架構模式來完成與上層鬆散關聯。將所有與領域模型相關的**集中在一層,並且家它與使用者介面層、應用層和基礎結構層的**分離。領域物件可以將重點放在表達領域模型上,不需要關心他們自己的顯示、儲存和管理應用任務等內容。這樣使模型發展得足夠豐富和清晰,足以抓住本質的業務知識並實現它。
最新新聞:
· 新聞觀察:電信商控制android損害google流量
(2010-11-25 08:40)
· 蘋果在華示弱android原因:利潤比份額重要
(2010-11-25 08:40)
· 矽谷提問**quora估值高達8000萬美元
(2010-11-25 08:39)
· 黑莓企業銷售員工紛紛出逃投靠蘋果
(2010-11-25 08:38)
· 平板電腦擋道硬碟業 硬碟一哥希捷或被收購
(2010-11-25 08:37)
領域驅動設計 學習筆記 分層架構
在物件導向的程式中,使用者介面 ui 資料庫和其他支援 經常被直接寫到業務物件中去。在ui和資料庫指令碼的行為中嵌入額外的業務邏輯。出現這種情況是因為層短期的觀點看,它是使系統執行起來的最容易的方式。當與領域相關的 和大量的其他 混在一起時,就很難閱讀並理解了。對ui的簡單改動就會改變業務邏輯。改變...
領域驅動設計 學習筆記 分層架構
在物件導向的程式中,使用者介面 ui 資料庫和其他支援 經常被直接寫到業務物件中去。在ui和資料庫指令碼的行為中嵌入額外的業務邏輯。出現這種情況是因為層短期的觀點看,它是使系統執行起來的最容易的方式。當與領域相關的 和大量的其他 混在一起時,就很難閱讀並理解了。對ui的簡單改動就會改變業務邏輯。改變...
DDD 領域驅動設計 學習筆記 分層架構
編寫處理非常複雜任務的軟體需要分離關注點,這樣允許隔離地設計軟體的不同部分。同時,不管是否分離,都要維護好系統中複雜的互動。分層的基本原則是 某一層中的所有元素都只能依賴於同一層中的其它元素或者依賴於其直接的下層元素。向上的資訊傳遞必須經過一些間接機制。分層的意義在於每層都只負責電腦程式中的某乙個特...