golang DDD 落地问题,如何复用一段 application service 里面的逻辑?

7 天前
 Grocker

我有 3 个领域,user , feed, photo

我有一段 upload 的逻辑,需要用户先上传照片,照片上传后更新用户相关信息的逻辑(强一致性) 这段逻辑需要协调 UserDoaminService 和 和 PhotoDoaminService 来完成这一系列操作 按理说应该是在 application service 进行编排实现 但是我需要在多个领域的应用服务都复用这段逻辑,按照 DDD 的设计,同级别之间是不应该互相依赖的,有没有什么好的解决方案,简单一点的

838 次点击
所在节点    问与答
8 条回复
maocat
7 天前
套一层 biz 实现
dzdh
7 天前
同一楼。套一层逻辑层。业务逻辑去调用逻辑层。逻辑层负责编排调度 Domain
Grocker
7 天前
@maocat 你的意思是说在应用服务层同一级增加一个协调者服务,由协调者来调度领域服务,其他应用服务依赖这个协调者服务吗?
Grocker
7 天前
@dzdh 这个逻辑层应该属于哪一层呢?
Meld
7 天前
领域事件 + 应用层事件订阅
dzdh
7 天前
@Grocker #4

应用 -> 逻辑 -> Domain


拿 php 来说。就是

controller-> logic -> domain

class controller { func xx(AALogic $logic) { $logic->xx()
notwaste
7 天前
xxx 后需要 xxx 应该是事件发布吧
oneisall8955
7 天前
发送事件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1155205

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX