allenbin

Results 5 comments of allenbin

从官方的文档是这样解释的:服务对外透出的api,既然是api那么和app的关系就不用解释了,是app应用对外的服务公开,这点注意和adapter是有区别的,适配面向的是客户端应用,而client面向的是其它服务,关于domain,并没有直接依赖的,就算领域服务中需要加载其它服务的数据其实用的是gateway做控制反转,然后在gateway的接口实现中进行调用其它服务的api

枚举一般我们有两个主要用途,业务的辅助逻辑判断和渲染数据时文本转换等,所以domain和app层都会用到,我觉得放在基础实施层的common包中

在infrastructure层只是定义了事件发布的接口和具体的事件总线实现, 发布: 但领域事件本身是属于领域内的产物,一般我们在app中执行完用例代码调用基础设施层发布领域事件,不过也见过人把领域事件当成数据存储起来,再进行异步发送,保证其完整性!个人认为为了简单的话直接放在app中去发布即可,一致性要求较高的可以用rocketmq的ack机制保证(先发布事件)。 消费:官方文档中是注明在app层进行消费,包括xxl-job等任务的执行也是在app层

在infrastructure层只是定义了事件发布的接口和具体的事件总线实现, 但领域事件本身是属于领域内的产物,一般我们在app中执行完用例代码调用基础设施层发布领域事件,不过也见过人把领域事件当成数据存储起来,再进行异步发送,保证其完整性!个人认为为了简单的话直接放在app中去发布即可,一致性要求较高的可以用rocketmq的ack机制保证(先发布事件)。

重试一般都是通过业务错误进行判断,自行补充这方面的设计也可以,区分好错误和业务异常即可!