【发布时间】:2019-07-17 15:18:26
【问题描述】:
我是 DDD 的新手,我正在尝试在我的 Go REST API 项目中使用它。当存在可能跨域的逻辑时,我对如何处理这种情况感到非常困惑。
假设我有以下文件夹结构,其中有两个域(客户和订单):
+.
-- Customer
+-- service
+-- http
+-- usecase
+-- repository
-- Order
+-- service
+-- http
+-- usecase
+-- repository
一般来说,假设Order域中有一个端点可以提供创建订单功能,那么http服务应该充当路由器并调用相应的usecase来处理逻辑,添加订单数据到repository(数据库)。
如果我想添加一个新逻辑,客户在创建订单时将获得特定的reward points 怎么样。假设用例中有一个CreateOrder 函数可以在数据库中创建一个新订单,但是我应该如何与Customer 域进行交互以便将reward points 添加到客户?
我正在考虑从 Order 用例函数调用 Customer 用例函数,但我不确定它是否会触发 circular import 问题。
【问题讨论】: