Model-View-ViewModel is an architecural approach used to abstract the state and behaviour of a view, which allows us to separate the development of the UI from the business logic. This is accomplished by the introduction of a ViewModel, whos responsibility is to expose the data objects of a model and handle any of the applications logic involved in the display of a view.
mvvm的實現主要依賴於Data Binding libraryandroid
MVVM on Android: What You Need to Know
Approaching Android with MVVM
mvp examplegit