MVC,MVP 和 MVVM 的区别之处
其实我一直以来,虽然做的是前端的工作,但是有一个疑问,就是什么是mvc模式,虽然大概知道,但是具体确实说不上来的的,今天,我就好好总结一下mvc ,mvp,mvvm模式的区别与相同。
1.MVC模式:
MVC模式的意思是:M(Model) V( View) C(Controller)
模型Model:数据保存
视图View:用户界面
控制器(Controller):业务逻辑
总结来说就是:用户界面(View) ==> 控制器*(Controller) 输入内容/点击 通过业务逻辑的更改,将内容返回给 ==> 模型(Model)数据通过保存 ==> 返回给 用户界面(View) 反馈给用户
或者(可以MVC的一般流程是这样的:View(界面)触发事件--》Controller(业务)处理了业务,然后触发了数据更新--》不知道谁更新了Model的数据--》Model(带着数据)回到了View--》View更新数据)
2.MVP模式:
MVP模式的意思是:M(Model) V( View) P(Presenter)
模型Model:数据保存
视图View:用户界面
Presenter:相当于(MVC中的Controller)
用户界面(View)可以双向访问 <==> 控制器(Presenter) 通过业务逻辑的改变 <==> 数据保存(Model)改变数据
3.MVVM模式:M(Model) V( View) VM(ViewModel)
模型Model:数据保存
视图View:用户界面
控制器(ViewModel):更改业务逻辑
与MVP模式完全一致,唯一的区别是,它采用双向绑定(data-binding):View的变动,自动反映在 ViewModel,反之亦然。Angular 和 Ember 都采用这种模式。
参考链接:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html
最新文章
- [Amazon] Amazon IAP for Unity
- golang mgo的mongo连接池设置:必须手动加上maxPoolSize
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
- Eruda——手机网页前端调试面板
- AWS ElastiCache 使用笔记
- 好吧,如果一定要RESTFUL的DJANGO
- Python 类型
- USACO 1.3.2
- 软件测试学习LINUX常用命令
- OpenCV实现仿射变换
- SparkStreaming
- LoadRunner(三)——LR相关概念&;组成部分
- GMA Round 1 新年的复数
- 引擎设计跟踪(九.14.3) deferred shading 准备
- leetCode83. 删除排序链表中的重复元素
- Java 中的E,K,V,T,U,S
- [数据结构]P1.2 队列
- 关于Mac OS虚拟机下共享文件夹的方法
- <;<;attention is all you need>;>;速读笔记
- backface-visibility 属性