聚合方法中传递远程服务参数需要做什么规范限制嘛

来源:3-10 优雅地实现一致性:聚合

JeffC

2021-12-15

老师,我看了cola 架构的实现,将领域之外的调用都当作外部调用包括数据库的访问,如果是这种情况,那就没有所谓的远程服务了,那聚合方法中的服务参数传递如何把控不是持久化的

写回答

1回答

尤达_技术咖啡

2021-12-16

大概看了下cola的demo代码,不确定cola是不是把远程服务调用和资源库都抽象成了gateway,如果是的话,这种抽象虽然在技术上是合理的(符合整洁架构的理念),但其实是不具备领域含义的,换句话说,与领域服务和资源库比起来,我们不太容易向领域专家解释gateway是什么。在我们课程代码中,领域服务就是领域服务,远程只是实现它的时候技术上的说法,站在领域层看,“远程服务”和其他领域服务没有区别。


如果我上面对cola的理解是对的,而且坚持不区分资源库和领域服务的话,那么我理解按照gateway这种理念,在任何其他地方对gateway的引用应该都不用关心它是否是“持久化的”,也就是说继续忽略它是资源库还是领域服务。这样也有好处:编码会灵活很多。

0
1
JeffC
感觉还是区分比较符合领域的含义,不过cola这种灵活总感觉有些坏味道
2021-12-16
共1条回复

DDD(领域驱动设计)思想解读及优秀实践

结合智慧零售项目实践,深度解剖DDD思想与应用方法

883 学习 · 98 问题

查看课程