簡體   English   中英

WorkManager 應該放在 Clean Architecture 中的什么位置?

[英]Where should WorkManager be placed within Clean Architecture?

我創建了一個 WorkManager,它每 60 分鍾從 API 中檢索當前的比特幣價格,並將其作為通知顯示給用戶。 但是,我對如何將 WorkManager 與 Clean Architecture 集成感到困惑。

我為 WorkManager 創建了一個基礎設施層。 你認為這是正確的嗎? 在您看來,WorkManager 應該放在 Clean Architecture 的什么位置?

當前架構方案

Package結構

它完全取決於您的用例,如果它是面向業務的操作,如果您遵循官方文檔,那么它的數據層

在此處輸入圖像描述

從架構的角度來看,工作管理器類似於用戶交互。 如果您沒有工作經理,您可能會讓用戶使用刷新按鈕觸發“更新比特幣價格”用例。 您將向刷新按鈕注冊一個事件偵聽器,並在事件發出時調用 controller。 因此,我會讓工作經理調用 controller。

如果您的應用程序分為前端客戶端和后端服務器部分。 你有兩個選擇。 要么讓前端客戶端使用工作管理器並每 X 分鍾發送一次請求,要么在后端服務器 controller 端實現工作管理器。 但是你需要一種方法來將結果發布到客戶端,要么通過 websockets,要么讓客戶端輪詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM