mvc-mvvm

2019-05-29  本文已影响0人  左_右

图片参考
MVP和 MVVM
MVP: Model和View之间不进行通讯,都是通过Presenter完成,
Presenter:实现业务逻辑,弱化Mode(相对于MVC)
Model:针对业务模型,建立的数据结构和相关的类
View:视图层

MVP.png

MVVM :为了解决ui复杂多变,使MVP中的View接口变的庞大,推出了MVVM,
MVVM解决了这一问题,通过双向绑定的机制,实现数据和UI内容,只要想改其中一方,另一方都能够及时更新的一种设计理念,这样就省去了很多在View层中写很多case的情况,只需要改变数据就行

Model :负责数据实现和逻辑处理,类似MVP。
View : 对应于Activity和XML,负责View的绘制以及与用户交互,类似MVP。
ViewModel : 创建关联,将model和view绑定起来,如此之后,我们model的更改,通过viewmodel反馈给view,从而自动刷新界面
总结:View层的Activity通过DataBinding生成Binding实例,把这个实例传递给ViewModel,ViewModel层通过把自身与Binding实例绑定,从而实现View中layout与ViewModel的双向绑定
作者:唠嗑008
链接:https://www.jianshu.com/p/4830912f5162

MVVM中跟MVP中一样,将三层划分的很清楚,Activity和xml layout充当View,ViewModel处理业务逻辑以及获取数据,弱化Model

MVVM.png

(https://blog.csdn.net/u010072711/article/details/77132403)

MVVM.png MVP.png MVP.png

图片参考

上一篇 下一篇

猜你喜欢

热点阅读