假設我們的Analytics
模型訂閱了CommentPosted
事件,並且想要將發佈的評論ID記錄到發佈該評論的請求的跟蹤cookie中。不幸的是,我們的CommentPosted
事件並不知道HTTP請求的任何內容,因爲它只引用了發佈的評論。DDD:域事件應該如何訪問Web請求數據?
爲了解決這個問題,在我們的聽衆中,我們可以使用DI獲取當前請求並使用它從那裏檢索所需的cookie。但是,這將我們的域緊密耦合到Web層。
另一種方法是要求Controller將需要的cookie傳遞給CommentingService
,然後將cookie與cookie調用AnalyticsService
。但是現在評論系統必須對分析進行調解。
沒有評論瞭解分析的任何知識並且沒有任何關於Web層的域知識,是否有更好的方式來插入此插件?
爲什麼您的CommentPosted事件中不包含trackerId? – Batavia
因爲評論在其域中沒有跟蹤器的概念。當CommentPosted事件引發時,它只包含發佈的評論。 –
「跟蹤器」概念究竟是什麼?這是一個人,誰提交了評論或其他東西? – Dariss