Android学习笔记MVP模式框架

本文介绍了Android开发中的MVP模式,解释了MVP的演化背景、优点及简单结构,强调了它能降低View的复杂性并提高可测试性。通过分析MVP的三个角色,展示了如何在实际开发中实施MVP模式,并通过BasePresenter和BaseActivity解决了生命周期管理和内存泄露问题,提升应用的可维护性和稳定性。
摘要由CSDN通过智能技术生成

Android学习笔记MVP模式框架

1.MVP模式介绍:
在上一次学习中,我简单的介绍了MVC构架,这次我来简单的介绍下什么是MVP。对于MVP,他其实就是MVC的一个演化版本,MVP全称Model View Presenter。目前MVP在android应用开发中越来越重要了,相信不少的开发者也在各种讨论关于MVP的理论了。那么这个MVP模式他到底有哪些应用的好处呢?首先MVP能够有效的降低View的复杂性,避免业务逻辑被塞进View中,使得View代码优化了不少。MVP模式会解除View与Model的耦合,同时又带来了良好的可扩展性、可测试性,保证了系统的整洁性、灵活性。可能对于简单的应用,你会觉得MVP会稍微显得有点麻烦,因为他提出了各种各样的接口概念,是的整个应用充斥着零散的接口,但是对于比较复杂的应用来说,MVP模式是一种良好的构架模式,它能够非常好的组织应用结构,使得应用变得灵活
 
 
2. MVP简单结构图:

这里写图片描述

从上图可以看出,MVP模式很好的分离显示层和逻辑层,他们之间通过接口进行通信,降低耦合。理想化的MVP模式可以实现同一份逻辑代码搭配不同的显示界面,因为他们之间并不依赖于具体,而是依赖与抽象。这使得Presenter可以运用于任何实现了View逻辑接口的UI,使之具有更广泛的使用性,保证了灵活度。
 
3. MVP模式的三个角色:

3.1 Presenter——交互中间人

Presenter主要作为沟通View和Model的桥梁,它从Model层检索数据后,返回给View层,是的View
和Model直接没有耦合,也将业务逻辑从View角色上抽离出来,相比MVC模式,就很好的减少了View
中的逻辑实现代码。

 
3.2 View——用户界面

View通常是指Activity、Fragment或者某个View控件,它含有一个Presenter成员变量。通常View需要
实现一个逻辑接口,将View上的操作通过会转交给Presenter进行实现,最后,Presenter调用View逻辑
接口将结果返回给View元素。
 
 

3.3 Model——数据的存储

对于一个结构化的App来说,Model角色主要是提供数据的存取功能。Presenter需要通过Model层存
储、获取数据,Model就像一个数据仓库。更直白地说,Model是封装了数据库Dao或者网络获取数据的
角色,或者两种数据获取方式的集合。

 
4. MVP的代码实现:

关于具体的实现我就不在这里重复写了,有想了解的大家可以参考我的这些MVP模式框架的代码:

Android-缓存网络图片(MVP模式)学习笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值