gpt4 book ai didi

language-agnostic - 在领域驱动设计中,服务可以调用其他服务吗?

转载 作者:行者123 更新时间:2023-12-04 07:41:58 24 4
gpt4 key购买 nike

有时,我正在编码的某些服务需要另一个服务已实现的功能。例如,在编写一个服务,在单次交易后返回某个ID的用户购买的产品,我需要用户购买产品后的帐户余额,因此我调用另一个服务来获取数据。

我可以看到一些替代方案:

  • 这样做很好,因为您正在重用代码。
  • 服务应访问自己的存储库以检索其操作的数据
  • 服务应该相互隔离,并且只属于一个域。在我的例子中,我应该有另一个层,可能是一个 ViewFactory,来调用服务来获取相关数据

  • 在这个问题上普遍接受的规范是什么?

    最佳答案

    您的问题是关于 Domain Services ,不是应用程序或基础设施服务?如果是这样,DDD 没有关于将域服务彼此隔离的具体指南。运用您的判断力并留意 SOLID违规。还要记住,域服务经常被误用,放置 more logic into Entities 是有意义的。 :

    SERVICES should be used judiciously and not allowed to strip the ENTITIES and VALUE OBJECTS of all their behavior.

    关于language-agnostic - 在领域驱动设计中,服务可以调用其他服务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7309318/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com