MVC、MVP、MVVM之间的关系
来源:互联网 发布:西安软件新城软件公寓 编辑:程序博客网 时间:2024/06/07 16:09
一、MVC
什么是MVC
- MVC是一种模式,它将应用分为3个部分:数据(模型)、表现层(视图)、用户交互层(控制器)
- 一个事件的处理大概是这样
- 用户和应用产生交互
- 控制器的事件处理器被触发
- 控制器从模型中请求数据,并将其交给视图
- 视图将数据呈现给用户
模型(数据保存)
- 模型用来存放用户的所有数据对象。比如有一个user模型,用来存放用户列表、他们的属性以及所有和模型有关的逻辑
- 模型不必知晓视图和控制器的细节,模型只需包含数据以及直接和这些数据相关的逻辑
视图(用户界面)
- 视图是呈现给用户的,用户与之产生交互。在JavaScript应用中,视图大都是由HTML、css、JavaScript模板组成的
控制器(业务逻辑)
- 控制器是模型和视图之间的纽带。控制器从视图获得事件和输入,对它们进行进行处理,并相应的更新视图。
- 当页面加载时,控制器会给视图添加事件监听,比如监听表单提交或按钮点击。然后当用户和你的应用产生交互时,控制器中的事件触发器就开始工作了
总结一下:
Controller
监听Model
变化,Model
一变,Controller
就会去更新View
。Controller
监听用户交互,用户点了提交或修改按钮,Controller 就要去更新 ModelView
传送指令到Controller
Controller
完成业务逻辑后,要求Model
改变状态Model
将新的数据发送到View
,用户得到反馈
各部分之间的通信方式
互动模式
- 接受用户指令时,MVC 可以分成两种方式。一种是通过 View 接受指令,传递给 Controller
- 另一种是直接通过controller接受指令
二、MVP
MVP
模式将Controller 改名为
Presenter`,同时改变了通信方向
- 各部分之间的通信,都是双向的。
View
与Model
不发生联系,都通过Presenter
传递。View
非常薄,不部署任何业务逻辑,称为”被动视图”(Passive View),即没有任何主动性,而 Presenter非常厚,所有逻辑都部署在那里
三、MVVM
MVVM
模式将Presenter
改名为ViewModel
,基本上与MVP
模式完全一致- 唯一的区别是,它采用双向绑定(data-binding):
View
的变动,自动反映在ViewModel
,反之亦然
阅读全文
0 0
- MVC、MVP、MVVM之间的关系
- 你知道MVC,MVP 和 MVVM之间的故事吗?
- mvc、mvp、mvvm使用关系总结
- MVC、MVP、MVVM使用关系总结
- MVC,MVP,MVVM的区别
- MVC、MVP、MVVM的区别
- MVC,MVP,MVVM的比较
- MVC,MVP,MVVM的区别
- MVC , MVP ,MVVM 的区别
- MVC 、MVP 、MVVM的讲解
- MVC,MVP,MVVM的区别
- MVC、MVP、MVVM的区别
- MVC , MVP , MVVM的图解
- MVC、MVP、MVVM的区别:
- MVC,MVP,MVVM的区别
- MVC/MVP/MVVM的的理解;
- vue学习之路之MVC,MVP,MVVM之间的区别和联系
- 对MVC、MVP、MVVM的理解
- Spark性能优化指南——基础篇
- java攻城狮之路-面向对象(2)
- JS原生实现多个小球跟着鼠标移动
- jq放大镜
- Linux基础命令总结(CentOS6.9, CentOS7.3)
- MVC、MVP、MVVM之间的关系
- svg兼容ie
- 2017 四川省赛 A.Simple Arithmetic【溢出】
- Spark--03基本架构及原理
- 限制一个段落的字数(项目总结)
- 异常
- Install vlc in Fedora 26
- Ajax总结篇
- 1204: 剔除相关数