《实现领域驱动设计》拆书稿 - 第3章 上下文映射图

image.png

第3章:上下文映射图

上下文映射图主要帮助我们从解决方案空间的角度看待问题。

拆书稿

一、上下文映射图有什么用?

  • 1、促进团队之间的交流
  • 2、迫使你仔细思考你的项目和你所依赖项目之间的关系

二、如何绘制上下文映射图?

  1. 上下文映射图表现的是项目当前的状态。

如果将来发生变化,到那时在去更新。不要画成了规划图。

  1. 不要向框图中加入过多的细节。

上下文映射图不是企业架构,也不是系统拓扑图。

  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来设计的,那两者的重合度很高;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容