mvc mvp mvvm

来源:互联网 发布:风冷知乎 编辑:程序博客网 时间:2024/06/05 07:40

1.mvc

视图(View):用户界面。
控制器(Controller):业务逻辑
模型(Model):数据保存
这里写图片描述

View 接受用户交互请求
View 将请求转交给Controller
Controller 操作Model进行数据更新
数据更新之后,Model通知View更新数据变化
View 更新变化数据

数据的通信是单向的

2.mvp

MVP 模式将 Controller 改名为 Presenter,同时改变了通信方向。
这里写图片描述
View 接收用户交互请求
View 将请求转交给 Presenter
Presenter 操作Model进行数据更新
Model 通知Presenter数据发生变化
Presenter 更新View数据

3.mvvm

MVVM 模式将 Presenter 改名为 ViewModel,基本上与 MVP 模式完全一致。

这里写图片描述
View 接收用户交互请求
View 将请求转交给ViewModel
ViewModel 操作Model数据更新
Model 更新完数据,通知ViewModel数据发生变化
ViewModel 更新View数据

唯一的区别是,它采用双向绑定(data-binding):View的变动,自动反映在 ViewModel