我正在尝试使用分层架构实现 DDD 应用程序。我有:
- 基础架构层 - 实现应用程序特定技术部分的层。
- 领域层——包含领域模型的层。
- 应用层 - 包含与域模型交互的干扰的层。
- 和接口(interface)层 - 从外部接收事件的层。
经典的 3 层(+ 基础设施)架构非常清晰。但是我的申请不是很经典。除了 UI 之外,我还有应该定期运行的计划任务。我想过把这样的任务放在接口(interface)层,因为这些任务实际上处理的是像 UI 这样的事件。但是有一个问题,我无法决定我应该在哪一层放置一个调度程序来触发计划任务的事件。
我画了一张草图
scheduler对象应该放在哪一层?或者可能是另一种使用内部事件生成器设计应用程序的方法。
最佳答案
对我来说,调度器是任务执行器的宿主(就像你的 JSP 容器是你的 UI 的宿主一样)。我会将其建模为外部实体,并将其作为另一个基础设施项目实现。
关于domain-driven-design - 定时任务应该放哪一层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3912823/