android - Android - 数据源与存储库
问题描述
在谈论 MVVM 或 MVI 等设计模式时,您会听到很多人谈论存储库和数据源。我一直在为 Retrofit 和 API 调用之类的东西创建存储库,为 Firebase 或其他库之类的东西创建数据源。但我不是 100% 确定我了解 Android 世界中数据源和存储库之间的区别。
有人可以启发我吗?
提前致谢。
解决方案
正如上一个答案中所指出的,通读应用架构指南可以帮助理解数据源和存储库之间的关系。
这是来自上述指南的有用引用,以阐明这种关系:
存储库模块处理数据操作。它们提供了一个干净的 API,以便应用程序的其余部分可以轻松检索这些数据。他们知道从哪里获取数据以及在数据更新时调用什么 API。您可以将存储库视为不同数据源(例如持久模型、Web 服务和缓存)之间的中介。
您在问题中提到的内容(改造、firebase 等)都是不同的数据源。您可以从方程式中删除存储库并单独处理所有数据操作。但是存储库模块充当不同数据源和应用程序其余部分之间的抽象层。
推荐阅读
- python - 多变量时间序列的递归神经网络 - TensorFlow
- cmake - How to define a dependency to setup the package before running find_package
- screen-scraping - Automate scraping from a large list of URLs to extract specific text
- java - JPA Criteria API - How to get the opposite side of a unidirectional ManyToOne relationship from JPA
- php - PHP Preg Replace 在换行后不起作用
- r - Need to aggregate variables in a list
- tfs - TFS 2018 新存储库错误 - 对象引用未设置为对象的实例
- php - 错误:SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;
- r - Get Column names using pipes r
- openmpi - MPI4Py:OpenMPI 如何跨进程更新字典?