業務建模: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修改過]
相關文章
- 業務建模:上下文(場景)還是服務?
- DDD中BoundedContext視為有限上下文更好Context
- 產品經理DDD必讀:使有界上下文與業務價值流對齊 - Marco Consolaro
- DDD統一語言和有界上下文誤配 - Alberto Brandolini
- 一個微服務對應一個有界的上下文嗎?微服務
- 如何權衡設計可擴充套件的有界上下文? (mathiasverraes)套件
- 幽默:為什麼DDD的Bounded Context翻譯為"有界上下文"?Context
- EA業務建模實踐之業務用例圖
- 資料和行為與有界上下文、微服務的關係 - Alberto Brandolini微服務
- 複雜系統的有界上下文和聚合結構是如何定義的?
- 對業務流程建模而不是對實體建模 - poweredbybeard
- 業務資料分析和建模薦
- 業務建模:CQRS應用場景
- 架構師之路 - 業務領域建模架構
- 真正的敏捷是根據DDD有界上下文劃分其團隊組織結構 - allenholub敏捷
- 根據業務能力實現DDD建模 - trond
- 使用 WebSphere Business Modeler 進行業務建模Web行業
- [技術討論]業務建模和使用者業務的關係
- 關於有界上下文和微服務的關係以及它們的劃分粒度 - Alberto Brandolini微服務
- 什麼是軟體開發業務建模分析和結構化建模分析
- IT系統的業務模型分析與系統建模模型
- 切實有效的三個步驟:如何通過劃分有界上下文設計微服務? - Robert Reppel微服務
- [全程建模]業務建模和用例模型以及需求規格說明書的關係模型
- 使用業務能力方法實現DDD戰略建模 - pulse
- 為什麼業務知識會嚴重影響建模效果?
- Java™ 教程(有界型別引數)Java型別
- RUP大講堂(第四講)-業務建模技術實踐
- [全程建模]業務用例到系統用例的變化圖
- 不同於DDD有界上下文:SAP One Domain統一領域模型試圖成為整合智慧套件的通用語言 | SAP BlogsAI模型套件
- 從上海地鐵撞車事件看“業務建模”的不可或缺性事件
- 為什麼建模技術對業務分析師BA如此重要?- modernanalystNaN
- 『航班乘客滿意度』場景資料分析建模與業務歸因解釋 ⛵
- 怎樣寫好業務程式碼——那些年領域建模教會我的東西
- 軟體專案需求開發過程實踐之業務建模用例圖
- PowerDesigner 業務流程/資料建模軟體和後設資料管理解決方案
- 在不瞭解業務上下文情況下請容忍軟體瑕疵Bug - jackhodkinson
- 持續建模,關注業務抽象,以任務分派執行跟蹤系統為例抽象
- MySQL建模MySql