image.png
第3章:上下文映射圖
上下文映射圖主要幫助我們從解決方案空間的角度看待問題犁河。
拆書稿
一、上下文映射圖有什么用?
- 1侧到、促進(jìn)團(tuán)隊(duì)之間的交流
- 2、迫使你仔細(xì)思考你的項(xiàng)目和你所依賴項(xiàng)目之間的關(guān)系
二淤击、如何繪制上下文映射圖匠抗?
- 上下文映射圖表現(xiàn)的是項(xiàng)目當(dāng)前的狀態(tài)。
如果將來發(fā)生變化污抬,到那時(shí)在去更新汞贸。不要畫成了規(guī)劃圖。
- 不要向框圖中加入過多的細(xì)節(jié)。
上下文映射圖不是企業(yè)架構(gòu)著蛙,也不是系統(tǒng)拓?fù)鋱D删铃。
- 它用于高層次的架構(gòu)分析,展現(xiàn)了一種組織動(dòng)態(tài)能力踏堡,幫我們識(shí)別出有礙項(xiàng)目進(jìn)展的一些管理問題猎唁。
- 放到團(tuán)隊(duì)成員經(jīng)常關(guān)注到的地方,比如貼在墻上
不建議放wiki顷蟆,wiki是葬送信息的地方诫隅。
三、組織模式和集成模式
- 合作關(guān)系(Partnership)
兩個(gè)限界上下文的團(tuán)隊(duì)要么一起成功呢帐偎,要么一起失敗逐纬。
- 共享內(nèi)核(Shared Kernel)
要為共享的部分模型指定一個(gè)顯式的邊界,并保持共享內(nèi)核的小型化削樊。
- 客戶方-供應(yīng)方開發(fā)(Customer-Supplier Development)
兩個(gè)團(tuán)隊(duì)處于上游-下游關(guān)系上游 - Upstream 下游 - Downstream
- 遵奉者(Conformist)
上游團(tuán)隊(duì)沒有動(dòng)力提供下游團(tuán)隊(duì)之所需豁生,下游團(tuán)隊(duì)智能盲目地使用上游團(tuán)隊(duì)的模型。
- 防腐層(Anticorruption Layer)
作為代理向你的系統(tǒng)提供功能漫贞,在你自己的模型和他方模型之間進(jìn)行翻譯轉(zhuǎn)換甸箱。
- 開方主機(jī)服務(wù)(Open Host Service)
保持協(xié)議的簡單性和連貫性
- 發(fā)布語言(Published Language)
在兩個(gè)限界上下文之間翻譯模型需要一種公用的語言
- 另謀他路(SeparateWay)
集成總是昂貴的,如果兩個(gè)限界上下文沒有顯著的關(guān)系迅脐,那么就完全解耦
- 大泥球(Big Ball of Mud)
有的系統(tǒng)模型混雜在一起芍殖,之間的邊界非常模糊。劃個(gè)邊界谴蔑,將其歸納在大泥球范圍之內(nèi)豌骏。這個(gè)邊界內(nèi),不要試圖使用復(fù)雜的建模手段來化解問題隐锭。并警惕它的蔓延窃躲。
讀后思考
- 上下文映射圖和我們平時(shí)的項(xiàng)目依賴關(guān)系圖有什么區(qū)別?
- 上下文映射圖更側(cè)重于業(yè)務(wù)領(lǐng)域或者限界上下文之間的依賴關(guān)系成榜;
- 項(xiàng)目依賴關(guān)系圖是技術(shù)開發(fā)視角的工程項(xiàng)目之前的依賴關(guān)系框舔,如果之前的項(xiàng)目都是按照DDD來設(shè)計(jì)的,那兩者的重合度很高赎婚;