android ViewModel类应该有多复杂?

cnjp1d6j  于 12个月前  发布在  Android
关注(0)|答案(2)|浏览(92)

到目前为止,我的项目中有两个不同的ViewModel类:一个处理登录和注册,另一个(HomeViewModel)处理其他所有事情。HomeViewModel类几乎有500行长,有近30个MutableLiveData对象。我已经发现这个类非常混乱,我想问是否应该将它拆分为不同的ViewModel类。我的想法是为我的每个片段创建一个单独的ViewModel类,或者以类似方法放置在同一个ViewModel类中的方式划分ViewModel类,例如,将与聊天和信使相关的所有内容放在一个类中。这样好吗

wooyq4lh

wooyq4lh1#

我真的不明白你是如何展示你的项目的,以及你面临的用例是什么。不过,如果你有一个屏幕登录和注册,我认为这是好的。但是,如果你有两个不同的屏幕,我认为这不是最好的一个。
如docs中所述。
ViewModel是一个负责准备和管理Activity或Fragment的数据的类。它还处理Activity / Fragment与应用程序其余部分的通信(例如调用业务逻辑类)。
我认为你需要真正改变你对如何使用视图模型的看法。

mw3dktmi

mw3dktmi2#

ViewModel太大会导致编写测试代码时出现问题。而且你也会在发现bug和以后重构代码时遇到问题,特别是当代码库变大的时候。
主要关注点是viewModel没有遵循关注点分离。
我想你现在可能正在使用MVVM架构,这就是为什么你必须有这么多可变的LiveData。您应该考虑迁移到MVI体系结构,它是MVVM体系结构的扩展,但遵循的关注点分离比MVVM好得多。

相关问题