8、领域驱动设计与微服务边界:从概念到实践

领域驱动设计与微服务边界:从概念到实践

领域通用语言与上下文边界

在不同的上下文中,术语可能具有不同的含义。但在特定领域模型的有界上下文中,我们只需就术语的通用含义达成一致,即通用语言。通过观察术语含义发生变化的边界,我们可以确定上下文的边界。

并非所有在讨论领域模型时想到的术语都会成为通用语言的一部分。有界上下文中对其主要目的至关重要的核心概念才是团队通用语言的一部分,其他的则应排除在外。这些核心概念可以从为有界上下文创建的待办事项(JTBD)集合中发现。例如,使用工作故事(Job Story)语法可以识别通用语言的关键术语。

上下文映射

在领域驱动设计(DDD)中,我们不会用单一的领域模型来描述复杂系统,而是设计多个独立的模型,这些子域通常通过发布的接口描述进行通信。这种对大型系统中各个领域的表示以及它们之间的协作方式被称为上下文映射。

DDD 在映射有界上下文时确定了几种主要的协作交互类型:
1. 共享内核(Shared Kernel) :当两个领域在很大程度上独立开发,但最终在部分领域上重叠时会出现。双方可能会就这个共享内核进行协作,其中可能包括共享代码、数据模型以及领域描述。然而,共享内核是一个有问题的模式,尤其是在微服务架构中,它需要两个独立团队高度协调,并且后续的任何修改都需要持续协调。如果必须使用共享内核,建议指定一个团队作为主要所有者/管理者,其他团队作为贡献者。
2. 上下游关系(Upstream–Downstream) :上游作为某种能力的提供者,下游是该能力的消费者。由于领域定义和实现不重叠,这种关系比共享内核更松散耦

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值