【发布时间】:2015-10-26 14:05:22
【问题描述】:
我正在开发一个我们将使用 DDD 的新项目。这里的问题在于如何处理我认为外部 API 与一个实体本身非常相关的情况。
想象实体卡。每个用户都可以拥有一张卡,类似于银行塑料卡,需要创建、激活、收费等。
这里的问题是,这张卡与管理卡创建、退款、激活等的外部 API 有关。
以代码方式而不考虑我所看到的基础架构。
new Card();
$card->isActive();
$card->refund();
等等
但问题是,这个实体函数需要与真正创建所有这些动作的外部 API 联系。但对我来说,它看起来像基础设施,是领域模型本身之外的东西。
从 DDD 的角度来看,这些实体能够连接到 API 并调用内部的 API 是否正确?
使用做某事的服务不是接近 DDD:
$service->activateCard($card);
那么 $card->activate() 方法在我看来在无处不在的语言中如此自然,会发生什么?
谢谢!!
【问题讨论】:
-
您最终找到了解决这个问题的好方法吗?
标签: php entity domain-driven-design