【发布时间】:2020-06-05 10:01:49
【问题描述】:
我正在和一些朋友制作一个应用程序,我们决定采用 MVVM 模式。但是,他们对模式的理解与我不同。
我的问题是:如果我们想要在其他视图中重用数据,我们可以将它们作为属性存储在存储库中(因为存储库模式是单例)并从其他视图模型访问它们吗?
这是我的意思的一个通用示例:
object AnimalRepository {
val favoriteBreed : Breed? = null
}
我们会像这样访问它:
class DogViewModel(
application: Application
) : AndroidViewModel(application){
val animalRepository = AnimalRepository
fun setFavoriteBreed(favBreed: Breed) {
animalRepository.favoriteBreed = favBreed
}
fun getFavoriteBreed() : Breed {
return animalRepository.favoriteBreed
}
在这种情况下,为了简单起见,我没有使用 LiveData。
争论源于我们对 Android 应用架构指南这一部分的不同解释: https://developer.android.com/jetpack/docs/guide#truth
【问题讨论】:
标签: android android-mvvm