如何在DDD中使用外部服务

时间:2019-03-01 18:37:10

标签: api domain-driven-design

我在DDD中有一个项目,我想知道在两层中我必须对Service进行编码以使用外部服务。在这种情况下,外部服务是关于要在前端显示的信息(特别是付款单)。

感谢进阶!

1 个答案:

答案 0 :(得分:0)

问题是个小问题,但是我的猜测是您有一个受限的上下文,甚至有一个用于此受限上下文的UI。现在,您想在BC的UI中显示来自另一个(外部)BC的一些数据。 在为此创建应用程序服务之前,请问自己:用户应如何使用此信息?它有助于解决您的卑诗省的某些业务问题吗?用户是否会根据看到的付款单数据在您的BC中采取不同的操作?如果是这样,那么您可能需要在BC的域模型内显式地对那些业务规则进行建模,与其他BC建立某种关系,并就合同达成一致,以获取满足您的不变量的数据。 如果您只需要用户界面中的快捷方式/便利性,然后尝试将此功能推送到用户界面级别,那么也许只需简单链接到其他上下文即可... 接触外部BC不应轻描淡写,因为每个外部依赖项都会使您的BC变得不那么独立和有价值。首先尝试使用一种战略设计模式(例如反腐败层,客户供应商,遵从者等)来阐明与其他上下文的通信。经过此分析,应该更容易确定将逻辑放置在哪一层这个外部通话。