MVVM - ViewModel 中的逻辑

问题描述 投票:0回答:1

我有一个采用 MVVM 架构的小型应用程序。我对视图模型中的逻辑有疑问。更简单的逻辑也应该出现在视图模型中吗?就像我有一个 editText 一样,在 textChanged 上,我有一个逻辑来检查 api 响应的编辑文本中的原始值是否修改为新值。如果是这样,则显示一些警报。这个逻辑可以在片段中还是应该在 ViewModel 中? 请忽略我的无知,我正在学习。预先感谢。

android android-studio mvvm android-mvvm
1个回答
0
投票

这已经进入了舆论领域,但是......

我有一个逻辑来检查 api 响应的编辑文本中的原始值是否被修改为新值。如果是这样,则显示一些警报。这个逻辑可以在片段中还是应该在 ViewModel 中?

为什么要检查编辑文本中的原始值?据推测,您的 ViewModel 维护 UI 的状态,并且 EditText 填充有该字段的观察值。

另外,您的 ViewModel 可能正在获取 API 响应(也许通过存储库)。

因此,VM是状态的真实来源,应该做错误检查的业务逻辑。

即使对于像这样的“简单”逻辑,最好尽可能将其保留在 VM 中 - 如果需要的话,测试、重构和扩展逻辑会容易得多,如果它位于 Fragment 中的话。

© www.soinside.com 2019 - 2024. All rights reserved.