1. 什么是MVVM?
MVVM 全称 Model-View-ViewModel,是一种软件架构设计模式,其核心就是 ViewModel。源自于经典的 MVC (Model-View-Controller) 模式。同时还有 MVP (Model-View-Presenter) 模式。
2. MVC,MVP,MVVM 的区别
1. MVC (Model-View-Controller) 模式:
- 模型—Model: 数据存储 (对数据的增删改查)
- 视图—View: 用户界面 (前端页面的渲染)
- 控制器—Controller: 业务逻辑 (路由,业务逻辑等)
各部分之间通信如图。View 请求接口到 Controller,Controller处理好业务逻辑之后,要求Model相应地改变数据,最后Model处理好数据之后,将新的数据返回给View
2. MVP (Model-View-Presenter) 模式:
MVP 模式将 Controller 改名为 Presenter (主持人),同时改变了通信方向。
View 请求接口到 Presenter,Presenter 处理好逻辑要求 Model 改变数据,Model更改好数据后,发送更改好的数据到 Presenter,Presenter再将结果返回给 View
总结:
各部分之间的通信,都是双向的。
View 与 Model 不发生联系,都通过 Presenter 传递。
View 非常薄,不部署任何业务逻辑,而 Presenter非常厚,所有逻辑都部署在那里。
3. MVVM模式:
MVVM 模式将 Presenter 改名为 ViewModel,基本上与 MVP 模式完全一致。
和 MVP 模式的区别是,它采用双向绑定(data-binding):ViewModel的变动,自动反映在 View
总结:
View 请求更改 ViewModel,ViewModel 接收请求处理业务逻辑后,要求Model更改数据,Model将更改好的结果返回给ViewModel。
ViewModel 和 View是绑定的,ViewModel的变动自动反映在 View












网友评论