小编典典

领域驱动设计:领域服务、应用服务

all

有人可以通过提供一些示例来解释域和应用程序服务之间的区别吗?而且,如果服务是域服务,我是否会将这个服务的实际实现放在域程序集中,如果是,我是否还会将存储库注入到该域服务中?一些信息会很有帮助。


阅读 84

收藏
2022-04-04

共1个答案

小编典典

服务有 3 种风格: 领域服务应用服务基础设施服务

  • 域服务 :封装 不自然地适合域对象的 业务逻辑,并且 不是 典型的 CRUD 操作——那些将属于 存储库
  • 应用程序服务 :由外部消费者用来与您的系统对话(想想 Web 服务 )。如果消费者需要访问 CRUD 操作,他们将在这里公开。
  • 基础设施服务 :用于抽象技术问题(例如 MSMQ、电子邮件提供商等)。

将域服务与域对象保持在一起是明智的——它们都专注于域逻辑。是的,您可以将存储库注入到您的服务中。

应用程序服务通常会使用域服务 存储库来处理外部请求。

希望有帮助!

2022-04-04