实践是检验真理的唯一真理。让我们来看个简单的实现MVVM设计的demo例子吧。
MVVM加深理解
MVVM模式将Presenter改名为ViewModel,基本上与MVP模式完全一致。
唯一的区别是,它采用双向绑定(data-binding) : View<->ViewModel, ViewModel作为Model中值的映射,是数据发生改变时,通知View中发生改变,以后不需要考虑View和Model之间的交互更新,只需着手界面布局逻辑即可。
①View和Model 不直接关联,而是通过ViewModel作为枢纽,沟通View和Model之间的关系。
②View中控件的值与属性进行绑定,通过KVO键值观察(这样当model的值发生变化时,View会自动发生改变)
View和Model通过ViewModel实现动态关联。