我有一大組數據偶爾會在後臺更新。作爲一個自我教學實驗,我不希望依賴任何框架。現在我正試圖在DDD/CQRS上下文中找到MVC/MVVC模式的正確位置。將大型且動態變化的數據集加載到表中
爲了填充表格我做了一個大型數據集的查詢,並將結果限制爲顯示行數的兩倍。一旦用戶滾動查詢的一半,我查詢下一批結果。
當用戶滾動時,我將所有結果加載到數組中,只是逐漸加載而不會丟棄未顯示的行。
誰負責構建轉換爲域對象的結果數組? MVC模型還是數據倉庫?
理想情況下,我想重用我的MVC模型,而不總是在擔心限制查詢結果。
如果數據在後臺更新,則會創建系統事件。但是,在創建新行的情況下,我希望我的應用程序爲新行的背景插入設置動畫,而不僅僅放棄查詢並重新加載表。在這種情況下,我想後臺進程必須加載當前查詢的一個副本,並將其與現有查詢進行比較。它應該用新行的位置創建一個「新行系統事件」。
哪個組件應該將當前查詢結果與前一個查詢結果進行比較以計算插入點和刪除點?系統服務? MVC模型?
我的最終關注的是,上載一組與多個有限查詢行的數據是否在後臺更新,可能是不一致的。如何/應在哪裏執行此一致性?
顯示的數據在某種程度上始終是陳舊的。爲什麼不讓用戶刷新或使系統定期執行。 – Hippoom
考慮到CQRS體系結構,如果用戶請求新行,則該命令和查詢是異步事件。我認爲,在這種情況下,如果你想盡快將新的空行渲染,它只能是制度,而不是用戶,誰決定何時基於當數據庫更新重新加載查詢,而不是當用戶單擊新行的按鈕。 – SystematicFrank
我認爲客戶端負責檢測數據變化(通過定期掃描),否則服務器需要廣播一個dataUpdatedEvent(我認爲這是浪費網絡)或者保留一份客戶備忘錄來決定哪個客戶端對更新感興趣我認爲這增加了很多複雜性)。嗯...如何在StackOverflow上實現註釋通知功能? – Hippoom