《实现领域驱动设计》 (美)弗农著 3章 上下文映射图

一个项目的上下文映射图可以用两种方式表示:
1.画一个简单的框图来表示两个或多个限界上下文之间的映射关系;
2.另一种更详细的方式是通过限界上下文集成的源代码实现来表示;

上下文映射图为什么重要
图3.1表示一个抽象的上下文映射图,然后不断的向里面添加细节内容;
在这里插入图片描述绘制上下文映射图

图3.1展示了上游(upstream)和下游(downstream)两种集成关系。我们还可以加入模块、聚合等信息。
上下文映射图不是企业架构,也不是系统拓扑图。但它可以用于高层次的架构分析。

产品和组织关系
任意两个限界上下文之间的关系可能如下:

合作关系:两个上下文团队要么一起成功,要么一起失败。两个团队在接口演化上进行合作以同时满足两个系统的需求。
共享内核:对模型和代码的共享产生一种紧密依赖。
客户方-供应方开发:当两个团队处于上游-下游关系时,上游团队独立开发,此时下游团队会受很大影响,所以我们应该顾及到下游团队的需求。
尊奉者:在上下游关系中,如果上游没有实现给下游的种种承诺,那么下游只能盲目只用上游团队的模型。
防腐层(ACL):在集成两个设计良好的上下文时,可以根据自己的领域模型创建一个单独的层,它在你自己的模型和他方模型之间进行翻译转换。
开发主机服务(OHS):让你的子系统通过协议来访问你的服务。
发布语言(PL):两个上下文之间翻译模型需要一种公用语言,用于完成集成交流,通常和开放主机服务一起使用。
大泥球:我们经常会发现系统中存在混杂在一起的模型,他们的边界非常模糊。

映射3个示例限界上下文
第一张映射图
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
敏捷项目管理上下文位于底部,表示这个核心模型位于其他系统的下游。
在限界上下文中我们提到projectOvation将自治的运行,我们的设计应该尽可能的限制实时依赖性。

图中的OHS/PL分别表示开放主机服务和发布语言,发布语言可以是JSON、XML、也可以使事件驱动框架,领域事件以消息的形式发送到订阅方。

ACL:为防腐层。

协作上下文
在这里插入图片描述身份与访问上下文通过REST方式向外发布服务。图3.6中,下游系统边界对象采用同步方式向上游系统获取资源。获取远程模型数据后,边界对象取出所需数据,再将其翻译成适当的值对象实例。

在这里插入图片描述
在这里插入图片描述敏捷项目管理上下文
在这里插入图片描述在这里插入图片描述和身份与访问上下文集成
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值