MVVM和MVC
-
MVC指的是Model-View-Controller,Model表示数据层,View表示视图层,Controller:控制器层,数据模型和视图之间通信的桥梁,通常控制器负责从事图读取数据,控制用户输入,并向模型发送数据。
-
View 接受用户交互请求
-
View 将请求转交给Controller处理
-
Controller 操作Model进行数据更新保存
-
数据更新保存之后,Model会通知View更新
-
View 更新变化数据使用户得到反馈
-
-
MVVM指的是Model-View-ViewModel,Model表示数据层,View表示视图层,ViewModel用于监听模型数据的改变和控制视图行为,简单来说就是沟通Model层和View层的桥梁。
- View 接收用户交互请求
- View 将请求转交给ViewModel
- ViewModel 操作Model数据更新
- Model 更新完数据,通知ViewModel数据发生变化
- ViewModel 更新View数据
总结:mvc是通过view层接收用户操作,传递给controller层,controller层处理逻辑,传递给model层,model层数据发生变化后,再传递给view层发生改变。mvvm是在mvc的基础上衍生出来的,主要利用的双向数据绑定,以viewmodel为核心,通过view层接收用户操作,传递给viewmodel层,传递给model层,在model层数据发生改变后,通知viewmodel层,viewmodel层再通知view层进行更新(view层和model层是不直接进行通信的)。