2017-05-28 21 views
2

MVVM(Model-View-View Model)というデザインパターンがあり、View ModelがViewの抽象化として使用されています。ビューモデルは、データストリームをビューに公開し、モデルのデータとやりとりすることになっていました。AndroidのViewModelとMVVM

しかし、AndroidのフレームワークにはViewModelクラスがあります。


質問: AndroidのViewModelはMVVMパターンからビューモデルとは何かを持っていますか?

答えて

1

これらは異なっています。 Androidが参照しているViewModelは単なるものです。

ViewModelクラスは、UI関連のデータを格納して管理するように設計されているため、 は、画面の回転などの設定変更にも影響します。

MVVMパターンには、View、ViewModel、Modelが必要です。 ViewとViewModelの間でバインディングが発生します。

Android ViewModelはUIControllerとやりとりするもので、MVVMパターンに従うのではなく、UIの状態を保持するものにすぎません。

+0

私は今このリファレンスを見つけました:https://developer.android.com/topic/libraries/architecture/index.html。 Googleが開発者にアーキテクチャ用のツールを提供して、RxJavaのようなあらゆる種類のサードパーティソリューションを排除しようとしているようだ。 – Oleg

+0

つまり、MVVMのViewModelとまったく同じ名前を使用し、別の目標を解決する、ViewModelというアーキテクチャツールとしての機能を追加するのは意味がありません。 – Oleg

+0

私はそれが理にかなっていないことを知っていますが、Googleには名前を付ける素晴らしい実績はありません。例えば。 「うそ」https://developers.google.com/android/reference/com/google/android/gms/appindexing/Thing.Builder彼らは文字通り何かを、単に「もの」と呼んでいました。 –

関連する問題