开发者您好,我有一个问题希望您能帮助我。
我读到谷歌建议为每个屏幕都有一个视图模型,屏幕可以与视图模型通信以执行许多不同的操作。 所以View Model会有很多职责,这与solid的S相悖。 为每个屏幕提供必要的视图模型以便每个屏幕都有单一的职责,这样会好吗?
我相信这种多视图模型方法将提高可重用性、封装性和碎片化; 因为如果两个屏幕需要执行相同的操作,则无需重复相应视图模型的代码或将相同的用例传递给两个屏幕。 每个屏幕都会访问您需要的内容。
你问了一个很好的问题。
这些只是我的意见: 您提到了一个屏幕的多个 ViewModel(假设为“视图”)和单一职责原则。
在android中,viewModel也被设计用来保存视图的数据。这意味着当您的配置更改时,您的 Activity 和片段的数据不会被破坏。
希望这对您有帮助:)