博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC MVP MVVM三者的区别
阅读量:5248 次
发布时间:2019-06-14

本文共 685 字,大约阅读时间需要 2 分钟。

MVC

MVC,Model View Controller,是软件架构中最常见的一种框架,简单来说就是通过controller的控制去操作model层的数据,并且返回给view层展示,具体见下图

当用户出发事件的时候,view层会发送指令到controller层,接着controller去通知model层更新数据,model层更新完数据以后直接显示在view层上,这就是MVC的工作原理。

MVP

MVP作为MVC的演化,解决了MVC不少的缺点,对于Android来说,MVP的model层相对于MVC是一样的,而activity和fragment不再是controller层,而是纯粹的view层,所有关于用户事件的转发全部交由presenter层处理。下面还是让我们看图

从图中就可以看出,最明显的差别就是view层和model层不再相互可知,完全的解耦,取而代之的presenter层充当了桥梁的作用,用于操作view层发出的事件传递到presenter层中,presenter层去操作model层,并且将数据返回给view层,整个过程中view层和model层完全没有联系。

MVVM

MVVM最早是由微软提出的

从图中看出,它和MVP的区别貌似不大,只不过是presenter层换成了viewmodel层,还有一点就是view层和viewmodel层是相互绑定的关系,这意味着当你更新viewmodel层的数据的时候,view层会相应的变动ui。

转载于:https://www.cnblogs.com/zhaodagang8/p/11267130.html

你可能感兴趣的文章
牛客网——华为机试(题21:简单密码)(Java)
查看>>
Python 中文编码
查看>>
应收发票相关脚本
查看>>
从“差不多了”到 正式发布 -- 新浪微博WinPhone UWP版诞生记
查看>>
ACM数论总结
查看>>
C#开源项目大全
查看>>
luogu1026 统计单词个数
查看>>
长按事件--UILongPressGestureRecognizer
查看>>
水波特效处理
查看>>
1301班 github安装及账户注册
查看>>
SQL自动事务、隐藏事务、显式事务,以及.net中的关于事务
查看>>
已知先序和中序遍历求后续遍历
查看>>
CF687C. The Values You Can Make[背包DP]
查看>>
洛谷CON1041 NOIP模拟赛一试
查看>>
Photoshop切图方法
查看>>
笨方法学python(本文为阅读时从此书摘录的笔记) 第五天
查看>>
VS2010 皮肤扩展
查看>>
java 获取pdf内容
查看>>
getResource()和getResourceAsStream()以及路径问题
查看>>
Java使用JNDI技术获取DataSource对象
查看>>