MVC和MVP到底有什么区别呢?

Posted xingkongzhizhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MVC和MVP到底有什么区别呢?相关的知识,希望对你有一定的参考价值。

MVC和MVP到底有什么区别呢?
 
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写
MVP 全称:Model-View-Presenter ;MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。

而MVP则是对MVC的进一步改造,以Andorid为例,实际上在MVC中很难区分Activity到底应该处于V还是C的角色,因为activity即包含了界面也包含了一部分逻辑处理。

MVP的出现就是为进一步分离业务逻辑和界面处理。在MVP中,M与V完全切断联系,由P进行总控。

当V接收到了操作,将相应的请求传递到P,由P进行业务处理以及与M进行交互,同时P又在恰当的时机对view进行更新(接口 / 回调方法 / 事件)

这样V只需要暴露出接口,V与P通过接口通讯,一方面能够将业务逻辑转移至P,一方面通过接口使得P可以适配多个V。

以上是关于MVC和MVP到底有什么区别呢?的主要内容,如果未能解决你的问题,请参考以下文章

MVC / MVP / MVVM 到底是啥?

MVP 和 MVC 有啥区别? [复制]

MVC和MVP的区别

MVP MVC 和 MVVM 的区别

mvc mvp mvvm的区别

MVC, MVP, MVVM比较以及区别