您的位置:首页 > 其它

MVC MVP MVVM三种通讯方式

2016-03-12 08:08 387 查看
一、MVC
通信方式:

1、View 传送指令到 Controller
2、Controller 起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据 Model 上的改变。 
3、Model 将新的数据发送到 View,用户得到反馈
所有通信都是单向的。



二、MVP
通信方式:

1、各部分之间的通信,都是双向的。
2、View 与 Model 不发生联系,都通过 Presenter 传递。
3、View 非常薄,不部署任何业务逻辑,称为”被动视图”(Passive View),即没有任何主动性,而 Presenter非常厚,所有逻辑都部署在那里。



三、MVVM
通信方式:

MVVM
模式是 MVP 的升级:
基本上与 MVP 模式完全一致。唯一的区别是,它采用双向绑定:View的变动,自动反映在 ViewModel,反之亦然。



 
     我们针对业务模型,建立的数据结构和相关的类,就可以理解为AndroidApp 的 Model,Model 是与 View 无关,而与业务相关的,例如数据库读取数据,应该是属于Model层的事情。

       MVP中 Presenter 真正需要处理的并非业务逻辑,而应该是视图逻辑。业务逻辑应该是视图无关的,可以是单独的一个类中,也可以是在P中。 P与V是一对多关系。EventBus应该作用于P层,在P层发送,在P层接收。

       MVVM中,M层改变并不是直接改变V层,而是通过VM层去改变V层。M与V依旧是不直接操作的。

文章参考链接  http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: