2017-05-28 88 views
2

有一種稱爲MVVM(模型 - 視圖 - 視圖模型)的設計模式,其中使用視圖模型作爲視圖的抽象。視圖模型應該將數據流暴露給視圖並與模型數據交互。Android的ViewModel和MVVM

但是Android框架中有一個ViewModel類。


問:做Android的ViewModel有事情做與MVVM模式視圖模型?

回答

1

它們是不同的。 Android所指的ViewModel就是這樣。

ViewModel類用於存儲和管理與UI相關的數據,因此 數據可以保留配置更改,例如屏幕旋轉。

MVVM模式將需要一個View,ViewModel和Model。在View和ViewModel之間發生綁定。

Android ViewModel與UIController進行交互,並且幾乎只是UI的狀態,而不是遵循MVVM模式。

+0

我現在已經找到了這個參考:https://developer.android.com/topic/libraries/architecture/index.html。看起來谷歌正在試圖爲開發人員提供更好的架構工具,以便人們擺脫各種第三方解決方案,如RxJava)。 – Oleg

+0

我的意思是,將一個名爲ViewModel的東西添加爲架構工具是沒有意義的,它使用與MVVM的ViewModel完全相同的名稱,然後使其解決不同的目標。 – Oleg

+0

我知道這沒有意義,但Google並沒有很好的事物記錄。例如。 「Thing」https://developers.google.com/android/reference/com/google/android/gms/appindexing/Thing.Builder他們實際上稱之爲「事情」。 –