知识卡片
服务序列图驱动上下文映射模式选择
内容
确定限界上下文后,通过业务服务的服务序列图确定上下文间协作关系、进而确定上下文映射模式并设计服务契约。示例:创建市场需求的领域知识已足以自足、无须求助他人,故无上下文映射,但仍应绘制服务序列图以驱动出服务契约;归档合同需求助文件共享上下文(支撑子领域,参与协作的是北向网关应用服务);添加项目成员需分别求助OA集成上下文与员工上下文。模式选择示例:OA集成要实现的通知功能无副作用、允许异步调用,适合事件机制,故选发布者/订阅者模式——既解除OA集成与多数上下文的耦合,又能保证响应速度、减轻主应用服务器压力,代价是需部署消息队列服务器、增加架构复杂度。发散:模式不是拍脑袋选的,是从”这个协作有无副作用、能否异步、要不要解耦”等具体特征推导出来的。
参考来源
- 位置:《解构领域驱动设计》第20章 20.3.3(源文件:_epub-src/OEBPS/033.xhtml)
- 结论依据:原文用服务序列图驱动映射模式选择,并说明发布者/订阅者模式的选择理由与代价。
- 原始内容:无论是短信通知、邮件通知还是站内通知,都没有副作用,且允许以异步形式调用,适合使用事件的调用机制,因而为其选择发布者/订阅者模式。