我開始學習Android開發,也一直試圖遵循DDD設計模式。讓我感到困惑的一件事是應用程序邏輯與ContentProvider相關的地方。創建ContentProviders時,應用程序邏輯和約束在哪裏?
ContentProviders看起來很像我的存儲庫,但很多時候我不想直接暴露我的存儲庫。存儲庫/數據庫中的服務內可能還有一些額外的應用程序邏輯。
我發現大多數ContentProviders的例子都顯示他們直接訪問數據庫。在ContentProviders和數據庫之間有服務或應用程序對象是否是錯誤的?
例如,我正在嘗試創建個人財務/預算應用程序(例如Mint/Quicken等)。我將擁有一個事務數據庫和一個相應的TransactionProvider。在大多數情況下,交易是相互獨立的。然而,如果兩個交易被標記爲同一個「轉賬」的一部分,那麼將存在一些我希望在這兩個交易之間保持同步的字段。如果有人更改了一筆交易的類別或金額,我想確保爲交易的其他賬戶的交易更新相同的值。