gpt4 book ai didi

android - 为什么存储库发送到 ViewModel 的构造函数?

转载 作者:行者123 更新时间:2023-11-29 15:34:59 25 4
gpt4 key购买 nike

我正在使用 MVVM 研究 Google Architecture Components,并注意到存储库发送到 ViewModel 的构造函数。问题是为什么存储库不能作为 ViewModel 中的属性、字段存在?一些开发人员创建存储存储库的 Factories 并使用它初始化 ViewModel。这样做的原因是什么? MVVM 告诉 View 根本不需要知道 Model。那么,为什么 repository 不只是作为一个字段留在 ViewModel 中呢?

最佳答案

通常,存储库在 ViewModel 的生命周期内不会更改。将其作为委托(delegate)者的参数而不是属性提供可确保它无法更改,并且 ViewModel 中的代码可以依赖它。

如果它是一个属性,它可以在 ViewModel 的生命周期内改变。您的代码可以从一个数据库加载一个对象,并在需要保存时找到指向另一个数据库的存储库。

关于android - 为什么存储库发送到 ViewModel 的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52643167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com