码迷,mamicode.com
首页 > Web开发 > 详细

MVC、MVP、MVVM

时间:2020-06-06 11:21:56      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:present   control   自动化   graph   因此   通知   思路   反馈   控制   

实线代表方法调用,虚线代表事件通知。

1.MVC

graph LR View .->Controller
graph LR Controller -->Model
graph LR Model-->|修改| View

View 事件触发Controller
Controller 完成业务逻辑后,通知 Model 改变状态
Model新的数据发送到 View,用户得到反馈

2.MVP

graph LR Presenter -->Model Model --> Presenter Presenter -->View View --> Presenter

MVC 中的 Controller 只知道 Model 的接口,因此它没有办法控制 View 层的更新
MVP 模式中,View 层的接口暴露给了 Presenter 因此我们可以在 Presenter 中将 Model 和 View 一同改变,以此来实现 View 和 Model 的同步更新

3.MVVM

graph LR ViewModel --> View View .->|事件| ViewModel ViewModel -->Model Model --> ViewModel

MVVM 模式 思路基本上与 MVP 模式完全一致。
不过,其采用双向绑定(data-binding):将 View 和 Model 的同步更新给自动化了。
双向绑定简单实现:通过输入事件 改变 数据, 通过数据拦截 改变 视图

MVC、MVP、MVVM

标签:present   control   自动化   graph   因此   通知   思路   反馈   控制   

原文地址:https://www.cnblogs.com/pengnima/p/13053623.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!