MVC和MVVM有什么区别?
「MVC」
- M - Model:模型,是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据
- V - View: 视图,是应用程序中处理数据显示的部分,通常视图是依据模型数据创建的。
- C - Controller: 控制器, 是应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
流程
- View 接受用户交互请求
- View 将请求转交给Controller处理
- Controller 操作Model进行数据更新保存
- 数据更新保存之后,Model会通知View更新
- View 更新变化数据使用户得到反馈
「MVVM」
- M - Model,Model 代表数据模型,也可以在 Model 中定义数据修改和操作的业务逻辑
- V - View,View 代表 UI 组件,它负责将数据模型转化为 UI 展现出来
- VM - ViewModel,ViewModel 监听模型数据的改变和控制视图行为、处理用户交互,简单理解就是一个同步 View 和Model 的对象,连接 Model 和 View
图示
- View 接收用户交互请求
- View 将请求转交给ViewModel
- ViewModel 操作Model数据更新
- Model 更新完数据,通知ViewModel数据发生变化
- ViewModel 更新View数据
「两者的区别」
- ViewModel 替换了Controller在UI层之下
- ViewModel 向View暴露了它所需要的数据和指令
- ViewModel 接收来自Model的数据
本文标签:MVC MVVM 什么 区别
原文链接:
版权说明:
本文由作者上传,本站仅提供存储服务,转载请注明原文链接