首页 > 解决方案 > Android - 数据源与存储库

问题描述

在谈论 MVVM 或 MVI 等设计模式时,您会听到很多人谈论存储库和数据源。我一直在为 Retrofit 和 API 调用之类的东西创建存储库,为 Firebase 或其他库之类的东西创建数据源。但我不是 100% 确定我了解 Android 世界中数据源和存储库之间的区别。

有人可以启发我吗?

提前致谢。

标签: androidkotlinmvvmrepositorydatasource

解决方案


正如上一个答案中所指出的,通读应用架构指南可以帮助理解数据源和存储库之间的关系。

这是来自上述指南的有用引用,以阐明这种关系:

存储库模块处理数据操作。它们提供了一个干净的 API,以便应用程序的其余部分可以轻松检索这些数据。他们知道从哪里获取数据以及在数据更新时调用什么 API。您可以将存储库视为不同数据源(例如持久模型、Web 服务和缓存)之间的中介。

您在问题中提到的内容(改造、firebase 等)都是不同的数据源。您可以从方程式中删除存储库并单独处理所有数据操作。但是存储库模块充当不同数据源和应用程序其余部分之间的抽象层。


推荐阅读