分类
Android

MVP架构与MVC架构区别

MVP架构:
MVP就是Model-View-Presenter。
MVP架构
如上图所示可以看见MVP模式需要具备如下三要素:
最左侧的View。也就是Android中的Activity。同时需要创建一个View的抽象接口View interface。需要View实现的接口,View通过View interface与Presenter进行交互,降低耦合。
最右侧的Model。用来操做实际数据(譬如数据存储等)。有时也需要创建一个Model的抽象接口Model interface用来降低耦合。
中间的Presenter。作为View与Model交互的中间纽带,处理与用户交互的负责逻辑。

MVC架构:
MVC框架认为软件可以分成如下三个部分:
视图(View):用户界面。
控制器(Controller):业务逻辑。
模型(Model):数据保存。
如下图很直观的展示了MVC框架的核心:
MVC架构
View传送指令到Controller,Controller完成业务逻辑后,要求Model改变状态,Model将新的数据发送到View,用户得到反馈。

MVP与MVC对比

这时候你会发现MVC与MVP的结构图都有很大区别,具体区别如下:
MVP架构:
View不直接与Model交互,而是通过与Presenter交互来与Model间接交互。
Presenter与View的交互是通过接口来进行的。
通常View与Presenter是一对一的,但复杂的View可能绑定多个Presenter来处理逻辑。
MVC架构:
View可以与Model直接交互。
Controller是基于行为的,并且可以被多个View共享。
可以负责决定显示哪个View。
参考:http://blog.csdn.net/boyupeng/article/details/46884823

发表评论

电子邮件地址不会被公开。