鉴于我有一个使用
Domain-Driven Design
的项目,并且我有以下层:
1:域
2:申请服务
3:立面
4:基础设施
现在,让我们考虑一个场景,其中我有一个创建某些东西的命令。我在我的应用程序服务中处理这个命令。创建过程完成后,我想将事件发布到外部服务。
问题是:
Which layer is responsible for publishing the event?
What is the best practice in this context?
如果您能提供有关此事的任何参考资料,我将不胜感激。
发布事件的责任可能分为两层:
划分职责意味着将来如果您想要将事件技术从 RabbitMQ 更改为 Kafka,您只需要更改基础设施(集成)组件。您的域仍会表现相同,并导致相同的事件同时发布。