Service(or BroadcastReceiver, etc..) 在干凈的架構包結構中屬于哪里?我想知道域和資料層之間...我會創建在包中呼叫services的新domain包。是這樣嗎,還是我應該用其他方式?
uj5u.com熱心網友回復:
在考慮干凈的架構時,您應該Service以與任何其他 Android 應用程式組件類似Activity的方式來考慮 Android,例如。
Service并且Activity兩者都可以做類似的事情,比如播放音樂、執行網路請求等,其中一個區別是在 a 的情況下缺少用戶界面Service(盡管可以將 aNotification視為 a 的 UI Service)。這種缺乏 UI 一開始可能會產生誤導。
考慮到這些應用程式組件的相似目的,我們可以想象它們都Service可以Activity位于干凈架構專案的同一層。
首先,我不會選擇data層,因為它是您的資料源(domain層中定義的抽象的具體實作)的位置,例如 Web API 或資料庫控制器。有人會爭辯說 aService在某種程度上是應用程式的資料源,因為您可以系結到它并從后臺獲取資料,但是如果您查看Activities或Fragments您會注意到它們也可以Activities通過使用Intents 或引數成為其他資料源.
我也不會選擇domain包——它應該包含應用程式的業務邏輯的定義——存盤庫的介面等。此外,這一層應該是平臺無關的,所以不應該有任何 Android 組件。AService絕對不屬于那里。
(app或presentation)層被留下。這是一個特定于 Android 的層 - 這是一個Service. Service可以直接與鄰居domain層通信,以通過可以傳遞給系結的用例訪問資料,用資料Activity顯示 aNotification或其他。所有這些都沒有違反干凈的架構規則。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/514415.html
標籤:安卓科特林android-jetpack-compose干净的架构
上一篇:地圖視圖示記并不總是可見
