DDD领域驱动——限界上下文的关系
随着微服务的流行,项目工程往往有很多子系统组成,涉及的面也是比较广的。如何根据业务划分系统功能,限界上下文Context,非常重要,而限界上下文之间的关系有哪些呢?俯视,正视,宏观把握系统是非常重要的,掌握每个角色的作用,也非常重要。看下: 1, 合作关系(Partnership) :如果两个限界上下文的团队要么一起成功,要门一起失败,此时他们需要建立起一种合作关系。他们需要一起协调开发计划和集成管理。两个团队应该在接口的演化上进行合作以同时满足两个系统的需求。应该为相互关联的软件功能制定好计划表,这样可以确保这些功能在同一个发布中完成。 2, 共享内核(Shared Kernel) :对模型和代码的共享将产生一种紧密的依赖性,对于设计来说,这种依赖性可好可坏。我们需要为共享的部分模型指定一个显示的边界,并保持共享内核的小型化。共享内核具有特殊的状态,在没有与另一个团队协商的情况下,这种状态是不能改变的。我们应该引入一种持续集成过程来保证共享内核与通用语言的一致性。 3, 客户方-供应方开发(Customer-Supplier Development) :当两个团队处于一种上游-下游关系时,上游团队可能独立于下游团队完成开发,此时下游团队的开发可能会受到很大的影响。因此,在上游团队的计划中,我们应该顾及到下游团第的需求。 4, 尊奉者(Conformist) :在存在上游