我有一个采用 MVVM 架构的小型应用程序。我对视图模型中的逻辑有疑问。更简单的逻辑也应该出现在视图模型中吗?就像我有一个 editText 一样,在 textChanged 上,我有一个逻辑来检查 api 响应的编辑文本中的原始值是否修改为新值。如果是这样,则显示一些警报。这个逻辑可以在片段中还是应该在 ViewModel 中? 请忽略我的无知,我正在学习。预先感谢。
这已经进入了舆论领域,但是......
我有一个逻辑来检查 api 响应的编辑文本中的原始值是否被修改为新值。如果是这样,则显示一些警报。这个逻辑可以在片段中还是应该在 ViewModel 中?
为什么要检查编辑文本中的原始值?据推测,您的 ViewModel 维护 UI 的状态,并且 EditText 填充有该字段的观察值。
另外,您的 ViewModel 可能正在获取 API 响应(也许通过存储库)。
因此,VM是状态的真实来源,应该做错误检查的业务逻辑。
即使对于像这样的“简单”逻辑,最好尽可能将其保留在 VM 中 - 如果需要的话,测试、重构和扩展逻辑会容易得多,如果它位于 Fragment 中的话。