2017-07-24 57 views
0

我應該在域驅動設計體系結構中添加調度程序項目的哪一層?如何在域驅動設計中添加預定作業

我正在考慮在分佈式服務層和應用服務層內部的業務登錄中添加調度器。

這裏是解決方案設計我想到的是:

  • 表示層

    • UI項目
  • 分發服務層

    • 應用API
    • 調度
  • 應用層

    • 應用
    • DTO(對於應用的API和調度器邏輯應用服務)
  • 域實體模型

    • 工程領域(域特定項目的實體)
    • 調度域(域實體具體到調度)
  • 數據持久

    • 數據訪問項目(庫)
    • 數據訪問調度程序域(存儲庫)
  • 橫切紅外線。

    • 授權
    • 記錄

任何幫助表示讚賞。

回答

0

從現在開始,我在Presentation layer中實現了這種組件,與UI的級別相同。這些組件在定期時間被cronjob喚醒,然後他們調用Application services爲了發送命令到Aggregates。然後,如有必要並允許,Aggregates將執行對系統狀態的更改。

+0

謝謝康斯坦丁的回覆。在我的項目中,我正在處理兩個不同的數據庫 - 一個是主數據庫(特定於應用程序),另一個是Scheduler。所以我的問題是我們可以有兩個域模型項目(一個用於應用程序數據庫,另一個用於Scheduler),它們將擁有自己的數據持久性項目。這是不錯的做法嗎?在此先感謝您的幫助 – sushilb21

+0

另外我讀過另一篇文章(https://stackoverflow.com/questions/3912823/which-layer-should-scheduled-task-be-put),調度程序可以在單獨的基礎架構項目中實現,以後可以添加爲外部實體。哪一個是好的做法? – sushilb21

+1

我讀過它,它給出了和我一樣的答案。也許你還有其他問題,比如如何組織項目,因爲在這裏你問了這個問題:「我應該在域驅動設計架構中添加調度器項目的哪一層?」我的回答是:「在表示層」 –