有人可以通过提供一些示例来解释域服务和应用程序服务之间的区别吗?而且,如果服务是域服务,我是否会将此服务的实际实现放入域程序集中?如果是,我是否还会将存储库注入(inject)到该域服务中?一些信息确实很有帮助。
最佳答案
服务有 3 种类型:域服务、应用程序服务和基础设施服务。
- 域服务:封装 业务逻辑不自然 适合域对象,并且不是典型的 CRUD 操作 - 这些操作属于存储库。
- 应用程序服务:使用者 外部消费者与您交谈 系统(想想Web 服务)。如果消费者需要访问 CRUD 操作,他们会在这里暴露。
- 基础设施服务:用于 抽象的技术问题(例如 MSMQ、电子邮件提供商等)。
将域服务与域对象一起保留是明智的——它们都专注于域逻辑。是的,您可以将存储库注入(inject)您的服务中。
应用程序服务通常会使用域服务和存储库来处理外部请求。
关于architecture - 领域驱动设计 : Domain Service, 应用服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2268699/