業務建模:BoundedContext(有界上下文)
有界上下文BoundedContext在DDD是一個擴充的概念,在Evans經典DDD的書裡應該是沒有這個概念的,Jdon論壇上面的很少涉及BoundedContext文章。
就BoundedContext的設計上,提出幾個自己的在這方面看法,拋磚引玉。
1、BoundedContext不同於Role(DCI)
它們看起來有點相似,但BoundedContext的描述語意會更加廣泛一點。Role(DCI)根據角色直接捕捉角色與系統互動行為,更接近於業務需求,BoundedContext更強調則業務分析避免歧義.
比如,Security模組的User,Hr模組的Employee,Project模組的Member等,當涉及“系統使用者”的時候,系統管理員會認為說的是系統使用者,行政總監會認為說的是員工,專案經理會說的是專案成員,這時候Role與BoundedContext就很類似了,除了類似Role這樣的概念,BoundedContext還可以其他業務概念的歧義問題,如“Account”他可能是財務的概念也可能是其他業務的概念。
2、BoundedContext與Repository
領域內的Entity都應該置於一定的上下文語境下面,而Entity的重建在Repository內完成的,所以Repository對BoundedContext存在一定的依賴關係
3、BoundedContext與Domain Service
業務之間或業務模組之間存在一定的互動關係,而這種互動關係最終體現為BoundedContext之間的互動關係,
業務的互動可以領域服務(Domain Service)來實現。
一個系統,當從資料的角度考察的時候,表現為一系列查詢和命令,當從業務的角度考察的時候,表現為一系列業務行為,
這個視角的不同最終體現為不同的Context之間的差異,其互動通過QueryService、CommandService、UnitOfWorkService來實現。
4、BoundedContext可做為CommandHandler與EventHandler的實現。
架構CQRS有太多概念很容易模糊掉關注領域核心的視線,所以才會把很多架構裡元素放到BoundedContext中。
[該貼被clonalman於2012-10-11 23:33修改過]
相關文章
- 使用設計畫布發現和建模有界上下文 - Nick Tune
- DDD中BoundedContext視為有限上下文更好Context
- 如何劃分有界上下文? - nick
- 一個微服務對應一個有界的上下文嗎?微服務
- 產品經理DDD必讀:使有界上下文與業務價值流對齊 - Marco Consolaro
- 資料和行為與有界上下文、微服務的關係 - Alberto Brandolini微服務
- DDD統一語言和有界上下文誤配 - Alberto Brandolini
- 關於有界上下文和微服務的關係以及它們的劃分粒度 - Alberto Brandolini微服務
- 如何權衡設計可擴充套件的有界上下文? (mathiasverraes)套件
- 幽默:為什麼DDD的Bounded Context翻譯為"有界上下文"?Context
- 對業務流程建模而不是對實體建模 - poweredbybeard
- 切實有效的三個步驟:如何通過劃分有界上下文設計微服務? - Robert Reppel微服務
- 複雜系統的有界上下文和聚合結構是如何定義的?
- 軟體需求與分析 業務建模分析
- 架構師之路 - 業務領域建模架構
- 根據業務能力實現DDD建模 - trond
- 什麼是軟體開發業務建模分析和結構化建模分析
- 真正的敏捷是根據DDD有界上下文劃分其團隊組織結構 - allenholub敏捷
- 財務建模最佳實踐 - DDD相關建模
- 使用業務能力方法實現DDD戰略建模 - pulse
- 為什麼業務知識會嚴重影響建模效果?
- 數學建模作業
- 為什麼建模技術對業務分析師BA如此重要?- modernanalystNaN
- Java™ 教程(有界型別引數)Java型別
- 招聘中說道的業務建模能力怎麼去學習實踐?
- Ctx:模組化服務上下文框架框架
- 不同於DDD有界上下文:SAP One Domain統一領域模型試圖成為整合智慧套件的通用語言 | SAP BlogsAI模型套件
- 工業資料分析之數倉建模 | 正規化建模和維度建模,你pick誰?
- 在不瞭解業務上下文情況下請容忍軟體瑕疵Bug - jackhodkinson
- python數學建模作業5.4 5.5Python
- 關係建模ER建模-維度建模
- 『航班乘客滿意度』場景資料分析建模與業務歸因解釋 ⛵
- PowerDesigner 業務流程/資料建模軟體和後設資料管理解決方案
- 微服務設計學習(一)關於微服務和如何建模服務微服務
- 程序上下文、中斷上下文及原子上下文
- 騰訊企業IT部蔡晨:從有界到無界,新一代企業安全防禦之道
- 呼叫鏈系列(4):服務資訊上下文傳遞
- The Foundry Modo 16 for Mac,專業三維建模工具Mac
- 專業三維建模軟體:Modo 16 for MacMac