脚踏实地系列之领域驱动设计--服务在哪里?
2020-03-18 本文已影响0人
志铉
我们有了实体类和值对象,按照以前的习惯,就应该写Controller 和 Service 了。因为这些寡实体和值对象都是一个个现实的映射,总要有一个东西:也就是服务来开始对这些实体和值对象进行操作吧
这里先别着急。我们依然回到这个图:
首先我们之前说过,一个实体他的变动,都应该由这个限界上下文来提供,其实可以换句话说:只要是实体这个对象的 创建,信息的改变,逻辑的删除都需要由这个限界上下文来提供,那么也可以这么说,这个限界上下文的服务就是应该包括对这些实体对象的:新增,改变,删除。(查询我们可以先忽略,后面提到CQRS架构时,就明白了)。
所以我们也就可以从上图看到,我们大致可以得出有哪些服务(主要是看所有的圆圈的产生,变更),比如什么时候产生对账文件批次,并通过命令(Command)可以改变对差错实体对象等等。
当你梳理完所有的实体对象的操作指令,那么你就已经得到了这个微服务的想关服务接口。当然这个还目前只是产生变化的服务。
说到了这里,我们总结一下:微服务的划分的逻辑就是按照领域进行实体划分,然后针对实体对象的维护指令,可以成为这个微服务最基本的服务接口。