手记

【备战春招】第11天+ 为什么需要限界上下文?

课程名称:DDD(领域驱动设计)思想解读及优秀实践

课程章节: 战略设计

课程讲师: 尤达_技术咖啡

为什么需要限界上下文?

  • 1,自然语言模糊,同一个词语,在不同的场景下含义不同
  • 2,限界上下文有利于分工协作,限界上下文,也是高内聚低耦合的。(之前说分工协作是根据领域划分,现在又说根据界限上下文,那是因为在理想的情况下,子域和限界上下文是一一对应的)

3,在理想的情况下,子域和限界上下文是一一对应的,子域属于问题空间,而线性上下文属于解决方案空间,在设计过程中,限界上下文是后于子域的划分,在前期战略阶段要根据子域进行分工协作,后期战术阶段就需要根据限界上下文进行分工协作

2,如何划分限界上下文,三种方式找到限界上下文

1,领域故事和事件风暴,如果想要获取完整是挖掘出所有的限界上下文,需要深入了解每个细节,其实在早期我们想要快速,简要的获取主要的限界上下文,有没有一种方法能够快速,简要的获取整个项目,主要的限界上下文呢,这就是基于子域概念提取。

2,基于子域概念提取:(例如,下图是我们拆分的子域)

1,提取子域中的关键概念,例如:支付域关键概念: 支付url,code_url,支付二维码,支付,扣款,支付协议

这是提取的所有关键概念:包含商品上下文和商品中台上下文

3,对于外部的系统,我们有引用的也要保留限界上下文,

因为有的对象在被引用的时候,和它在原有系统中的对象,属性可能不一样的,所以我们要在自己的系统里面进行转换成本系统需要的限界上下文对象。

4,子域和限界上下文,通过图之间的连线表示子域和限界上下文之间的关系

5,限界上下文和微服务之间的关系?

微服务是限界上下文的实现方式。一般来说一个上下文对应一个微服务。

单体服务,多个服务部署到一起,共用网关和数据层。而微服务是每个服务都有自己的网关和数据层。所以微服务架构主要是关于隔离性的。微服务要依赖强大的基础设施,否则是一场灾难。

6,总结

限界上下文是解决方案,对模型的分解。

0人推荐
随时随地看视频
慕课网APP

热门评论

图片现实不出来

查看全部评论