第3章:上下文映射图
上下文映射图主要帮助我们从解决方案空间的角度看待问题。
拆书稿
一、上下文映射图有什么用?
- 1、促进团队之间的交流
- 2、迫使你仔细思考你的项目和你所依赖项目之间的关系
二、如何绘制上下文映射图?
- 上下文映射图表现的是项目当前的状态。
如果将来发生变化,到那时在去更新。不要画成了规划图。
- 不要向框图中加入过多的细节。
上下文映射图不是企业架构,也不是系统拓扑图。
- 它用于高层次的架构分析,展现了一种组织动态能力,帮我们识别出有碍项目进展的一些管理问题。
- 放到团队成员经常关注到的地方,比如贴在墙上
不建议放wiki,wiki是葬送信息的地方。
三、组织模式和集成模式
- 合作关系(Partnership)
两个限界上下文的团队要么一起成功呢,要么一起失败。
- 共享内核(Shared Kernel)
要为共享的部分模型指定一个显式的边界,并保持共享内核的小型化。
- 客户方-供应方开发(Customer-Supplier Development)
两个团队处于上游-下游关系上游 - Upstream 下游 - Downstream
- 遵奉者(Conformist)
上游团队没有动力提供下游团队之所需,下游团队智能盲目地使用上游团队的模型。
- 防腐层(Anticorruption Layer)
作为代理向你的系统提供功能,在你自己的模型和他方模型之间进行翻译转换。
- 开方主机服务(Open Host Service)
保持协议的简单性和连贯性
- 发布语言(Published Language)
在两个限界上下文之间翻译模型需要一种公用的语言
- 另谋他路(SeparateWay)
集成总是昂贵的,如果两个限界上下文没有显著的关系,那么就完全解耦
- 大泥球(Big Ball of Mud)
有的系统模型混杂在一起,之间的边界非常模糊。划个边界,将其归纳在大泥球范围之内。这个边界内,不要试图使用复杂的建模手段来化解问题。并警惕它的蔓延。
读后思考
- 上下文映射图和我们平时的项目依赖关系图有什么区别?
- 上下文映射图更侧重于业务领域或者限界上下文之间的依赖关系;
- 项目依赖关系图是技术开发视角的工程项目之前的依赖关系,如果之前的项目都是按照DDD来设计的,那两者的重合度很高;
网友评论