DDD中BoundedContext視為有限上下文更好
“我們經常陷入這樣一個陷阱:將邊界這個概念看成是用來是將一件事與另一件事化分開,(比如劃清界線,劃分邊界,分割線,邊界線,領域邊界)
但是,我們更應該將邊界視為有限構成事物的一個事物。這種轉變將幫助我們將邊界視為一種賦能”——Paul Cilliers
banq:邊界也是一個事物,這個事物是一種構建事物,如同設計模式中的工廠模式或builder構建者模式,工廠物件或builder物件是一個專門的用來構建的物件事物,這種構建的能力是有限的,不是無限的,有限是指空間或時間上的有限,有界,有起點和終點,有生命週期,有作用域的。
因此,bounded context的bounded如果翻譯成有限這個詞可能更好,界限或有界都是一種靜態邊界線的意思,而有限則包含動態上構建時是有限的意思,不是源源不斷的構建,源源不斷無限的構建是流stream。
DDD中戰略基礎概念:
Domain = Boundary , BoundedContext @ UL, Aggregates *emerges* from BC
領域 等於邊界,有限上下文來自於或位於無所不在通用語言,聚合是從有限上下文中湧現出來的一種關係體。
只有領域的邊界是固定的,靜態的,而上下文的邊界則不是這樣,只有在上下文和聚合被建立構建時代表了一種有限,正如黑人 白人出生時是有皮膚的區別界線,但是出生以後的邊界就可能模糊了,人人平等了,都公平參與競爭,英雄就不問出處了,但是出處是有區別的。
有限上下文的出處是來自通用語言,從UL中有限地發現構建上下文,這樣的上下文肯定是有界的,或稱為有界的上下文,界限上下文。但是,我們不能認為上下文就永遠被界限限制住了,隨著時間發展,上下文之間的邊界可能會模糊,但只要構建時是有限地構建即可。
將BoundedContext看成有限地構建了的上下文,這樣做的好處是:將Bounded就可以看成一種賦能,是一個動詞,來自通用語言的賦能,BC就在DDD戰略設計和戰術設計之間架起了一座橋樑,賦能者(通用語言)可以通過BC賦能給戰術設計中的聚合、實體、值物件等概念,也就是說,我們可以從UL中挖掘或通過暗喻、隱喻等方式賦能戰術設計概念,典型案例見:通過語言的暗喻發現隱藏的DDD模型 - verraes
相關文章
- 業務建模:BoundedContext(有界上下文)Context
- DDD中限界上下文與通用語言的作用
- 幽默:為什麼DDD的Bounded Context翻譯為"有界上下文"?Context
- DDD理論學習系列(3)-- 限界上下文
- DDD設計工具:上下文對映器ContextMapperContextAPP
- DDD和OO的重要區別:上下文重於抽象抽象
- DDD統一語言和有界上下文誤配 - Alberto Brandolini
- 用“資料與演算法”解釋DDD“上下文和聚合”演算法
- 程序上下文、中斷上下文及原子上下文
- 單例模式中為什麼用列舉更好單例模式
- AI模組(有限狀態機、行為樹)-應用在cocos中AI
- DDD之1微服務設計為什麼選擇DDD微服務
- DDD 中的那些模式 — CQRS模式
- Java實現DDD中UnitOfWorkJava
- Vite為何比Webpack更好?ViteWeb
- ReactJS新聞 #21 React Native中更好的列表檢視JSReact Native
- 理解CSS中的BFC(塊級視覺化上下文)(淺顯易懂)CSS視覺化
- Flask中的請求上下文和應用上下文Flask
- 為什麼我越來越喜歡用DDD — DDD架構篇(1)架構
- C++中為什麼使用指標比使用物件本身更好?C++指標物件
- 在DDD中建立領域模型模型
- DDD中事件與命令比較事件
- 使資料視窗中的被選中行具有更好的外觀
- 為什麼iPhone拍照更好看iPhone
- [譯] 如何成為更好的開發者
- 不同於DDD有界上下文:SAP One Domain統一領域模型試圖成為整合智慧套件的通用語言 | SAP BlogsAI模型套件
- 程式中的context(上下文)Context
- 前端資源分享-只為更好前端前端
- 成為更好開發者的10種方法
- 這就是為什麼你學不會DDD
- 有限微積分
- VARCHART XGantt系列教程:如何在分組檢視中更好地顯示節點
- DDD/HexArch提示與技巧:使用ComponentScan將領域繫結到Spring上下文 - beyondxscratchSpring
- 事件風暴創始人Alberto:團隊拓撲和DDD上下文對映的關係事件
- 真正的敏捷是根據DDD有界上下文劃分其團隊組織結構 - allenholub敏捷
- ddd
- Nuxt Kit 中的上下文處理UX
- 為什麼REST比GraphQL更好? - TomaszJaskuλaREST