代码之家  ›  专栏  ›  技术社区  ›  dev90

我们应该为每个活动创建单独的存储库,还是为整个应用创建单个存储库

  •  6
  • dev90  · 技术社区  · 7 年前

    我在跟踪 MVVM 我的应用程序的架构。在活动中我需要 getNews() 如果尚未缓存新闻,则从URL。

    活动会问 ViewModel News Json 视图模型 将查看存储库,并决定从本地或远程存储库发送数据。

    现在的困惑源于以下几点:我应该为每个活动创建一个单独的存储库类,还是为每个活动与之通信的整个项目创建一个通用存储库类。在第二种方法中,repository类将非常庞大。

    我无法找到关于这个话题的任何官方指南,我想知道这方面的最佳实践。

    1 回复  |  直到 7 年前
        1
  •  18
  •   Bmuig    7 年前

    创建一个 存储库 因为整个应用程序肯定不是一个好主意,因为它会变得非常大,并且很快就完全无法管理。

    我建议你创建单独的 存储库 视图模型 此外 服务 对于由多个 视图模型 .

    在你的例子中,这意味着你有一个 新闻来源 服务 它负责检索和缓存新闻JSON,并拥有所有 存储库 需要从那里检索数据。