Android MVP架构(1)概念介绍

本文深入解析了Android开发中常用的MVP架构模式,包括其与MVC的区别,特点及如何在项目中实现MVP架构,以达到更好的解耦效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android常见的架构模式主要有以下三种:MVC、MVP、MVVM

其中,MVP以其优良的解耦以及模型与视图完全分离的特性,被最为广泛的应用。

MVP(Model-View-Presenter)是MVC的改良模式,和MVC的相同之处在于:
Controller/Presenter负责业务逻辑,Model管理数据,View负责显示只不过是将 Controller 改名为 Presenter,
同时改变了通信方向

MVP架构如下图所示。

由上图可以看出,MVP具有如下特点:

  1. M、V、P之间双向通信。
  2. View 与 Model 不通信,都通过 Presenter 传递。Presenter完全把Model和View进行了分离,主要的程序逻辑在Presenter里实现。
  3. View 非常薄,不部署任何业务逻辑,称为“被动视图”(Passive View),即没有任何主动性,而 Presenter非常厚,所有逻辑都部署在那里。
  4. Presenter与具体的View是没有直接关联的,而是通过定义好的接口进行交互,从而使得在变更View时候可以保持Presenter的不变。
  5. 可以编写测试用的View,模拟用户的各种操作,从而实现对Presenter的测试–从而不需要使用自动化的测试工具。

 

       上述特点回归到Android里面,其实就很容易发现,View主要由Activity进行实现。而我们需要设计的是Model和Presenter, 进行网络请求以及数据处理。此时的程序逻辑就将与Activity完全解耦,View只需要将可能出现的结果用接口进行抽象,在Activity对回调结果进行处理即可。在下一篇博客中,将会使用接口解耦以及注解的方式实现一个自定义的MVP框架。

Android MVP架构(2)使用注解实现一个MVP框架

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值