MVC与MVP架构特点与区别-android

1.MVP模式(Model-View-Presenter)是MVC模式的一个衍生。主要目的是为了解耦,使项目易于维护。

Model 依然是业务逻辑和实体模型

View 经常由Activity实现,包含Presenter的引用。所要做的就是当有交互时,调用Presenter里的对应方法。

Presenter 负责完成View于Model间的交互,从Model里取数据,返回给View处理好的数据。

mvc介绍:

Model 是应用程序中用于处理应用程序数据逻辑的部分。

View 是应用程序中处理数据显示的部分。

Controller是应用程序中处理用户交互的部分。

比较

MVP模式:

View不直接与Model交互 ,而是通过与Presenter交互来与Model间接交互

Presenter与View的交互是通过接口来进行的,更有利于添加单元测试

通常View与Presenter是一对一的,但复杂的View可能绑定多个Presenter来处理逻辑

MVC模式:

View可以与Model直接交互

Controller是基于行为的,并且可以被多个View共享

可以负责决定显示哪个View

mvp的核心优势是实现了view和model 的完全解耦,更改ui界面并不影响model,但是presenter持有view的引用,容易造成内存泄漏,所以在使用时要使用弱引用,来避免内存泄露的发生;


图1
图2
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容