【问题标题】:How do I decide how many ViewModels my app should have? Android, MVVM [closed]我如何决定我的应用应该有多少个 ViewModel? Android,MVVM [关闭]
【发布时间】:2021-05-21 22:58:39
【问题描述】:

我看到建议是每 1 个视图(活动、片段、自定义视图)有 1 个视图模型,但在大多数示例中,我看到项目只有 1 个视图模型,即使这些项目有多个视图和片段。是开发人员没有严格遵守指南还是我遗漏了什么?

举个例子:一个应用程序,其中在 recyclerView 中有一个购物清单项目部分,在不同的 recyclerView 中有待办事项列表项目。

【问题讨论】:

  • 您在哪里看到此指南? AFAIK,Google 不建议在 Android 上开发任何特定的设计模式。尽管有这个名字,但 ViewModel 并不是专门为 MVVM 设计模式设计的。

标签: android mvvm viewmodel android-viewmodel android-mvvm


【解决方案1】:

一切都取决于您的业务逻辑。

例如,一个用于身份验证的视图模型是正常的。例如,您有一个带有 Api 接口和数据库的存储库。然后对于页面的内容,它取决于后端api和其他东西。但是推荐一件事,那就是您应该了解 SOLID 原则,特别是这里的单一职责。不要在一个或任何视图模型中完成所有工作。

您还可以查看开源 MVVM 存储库并尝试为您的项目模拟情况。

【讨论】:

  • 开源 MVVM 存储库是我在看到的项目示例中所谈论的内容。这些通常只有一个 viewModel。我正在做的是默认拥有 1 个视图模型(无论有多少视图),如果我认为这对我有意义(同时考虑单一责任原则),则制作更多视图模型。这种方式不遵循谷歌关于每个视图 1 个 viewModel 的建议,但我的方式是我在大多数 MVVM 开源项目中看到的。我想我要问的是,如果真的开发人员通常不会严格遵守“每个视图 1 个视图模型”规则,因为我很困惑。
  • > 完全正确。但是,有时无法遵守规则。在特定情况下,使用您可以用来解决问题的最佳方法。
猜你喜欢
  • 2023-03-19
  • 1970-01-01
  • 2022-11-15
  • 2018-05-17
  • 2023-02-24
  • 2013-01-10
  • 2010-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多