模型诊断 | 上下文之间的边界和幂等因子

计划 分期 借据 模型 因子
发布于 2024-08-27
843

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

扫码阅读
手机扫码阅读

本文由公众号“少个分号”发布,主要讨论了在领域模型设计中的一个具体问题及其解决方案,并讨论了幂等因子在微服务设计中的重要性。

文章讲述了作者在假期前收到一个朋友关于存贷款业务领域模型的问题。问题涉及到如何处理借据(LoanBill)与分期计划在不同领域或上下文中的关联问题,尤其是在处理状态和生命周期的一致性时遇到的困难。

作者分析认为问题的本质在于混淆了分期计划与计划中阶段的概念,并提出了解决方案:

  • 将还款计划定义为与借据一一对应的模型,称为RepaymentPlan。
  • 设计还款项或还款阶段,称为RepaymentPlanItem,使RepaymentPlan与RepaymentPlanItem构成一对多关系。
  • 在还款时,RepaymentPlanItem可生成具体的还款单RepaymentBill。

此解决方案的优点在于,不同上下文中的对等对象可以方便地处理状态一致性。作者引入了“幂等因子”(Idemfactor)的概念,它是在微服务设计中用来标记同一次事务的业务编码,有助于实现状态的最终一致性。

文章还提到了类似的边界模型设计问题,如订单与库存操作的关系,以及CRM系统中大合同与回检计划的关系,并强调了在两个服务需要实现最终一致性时,幂等因子的重要性。没有幂等因子可能表示模型设计存在问题。

最后,作者鼓励读者如发现内容错误,可以通过联系作者领取红包,并感谢了读者的支持。

TechLead 少个分号

一线开发 TechLead,讨论系统设计技术方案和技术管理,原名《DDD和微服务》。

118 篇文章
浏览 109.1K

还在用多套工具管项目?

一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。

加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线