我有一個非常複雜的工作流程,它不是100%清楚在哪裏處理什麼。 我不想有代碼,它只是誰負責什麼的問題。複雜的就業聚合
給出如下:
- 有一個根目錄 「C:\服務器」
- 裏面有兩個目錄 「FTP」 和 「備份」
想象一下以下的過程:
- 外部客戶將文件發送到ftp目錄。
- 導入器應用程序獲取文件,現在樂趣開始。
- 必須爲此文件創建作業聚合。
- 命令「CreateJob(string file)」被觸發。 ?該文件必須從ftp移動到備份。 CommandHandler內部或Aggregate內部或JobCreated事件?
- StartJob(Guid jobId)get的調用。必須創建第三個文件夾「正在進行」,文件必須從備份複製到正在進行中。誰做的?
因此,如果沒有正確的文件系統,Aggregate無法正常工作,我不清楚Filesystem的東西在哪裏。 因爲我的第一個方法是在一個基礎結構層/ lib中執行這個操作,它監聽來自作業層的事件。但它似乎不是100%正確的?!
而最重要的是,什麼是重放? 您無法重播被感動,事情/文件,你必須以某種方式模擬一個客戶發送文件到FTP文件夾...
感謝答案
爲什麼文件移動在'backup'文件夾,然後在'在-progress'文件夾中再次移動? –