MVP
1.什么是MVP?
通俗的讲,M 代表数据层,V 代表视图层(页面activity/fragment),P桥接层,也叫做操控中心,操作M 获取数据,处理业务,然后通知V 层做相应展示操作。如图所示

2.相比较于MVC
传统项目开发APP中,一个页面Activity/Fragment 往往即是M 获取数据和操作数据,又是大量业务逻辑和展示数据。这样明显有点不符合软件设计的 单一职责.
3.案例:登录模块
此案例使用kotlin 语言,因为它很好的避免空指针异常,和很多语法糖,使代码更加简洁
- 目录结构

- 编写mvp抽象接口
这里可能大家会疑惑,为什么一上来就是接口抽象,不要急,请继续往下阅读。
首先写M 层接口抽象,这里简单起见,就写了两个接口方法,一个是登录请求接口,取消接口请求.

P层接口,由前面图可知,P层起到中间人作用,操作M 和 V。

V层接口

- 抽象接口实现
实现M层

实现P层

V层,大家可以自行扩展,比如请求登录显示loading, showloading() 等等

- 调用
大家可能会觉得,这个MVP怎么写这么多接口,和实现的,这样子便于后期维护,想想假如你要调试需要修改一下数据。你只要找到你的M层修改就行,而不是改一处,处处改。调用简单

前面我们讲到,V 层就是页面Activity,因此我们要 实现LoginView。有没有觉得简单呢,Activity再也不用写好多代码,仅需要 p.调用,就实现功能。Activity仅仅做展示
本文深入探讨了MVP模式在Android开发中的应用,特别是使用Kotlin语言进行实践。MVP模式通过分离数据层、视图层和操控层,提高了代码的可维护性和可读性。文章详细讲解了如何构建MVP架构,包括接口定义和实现,以及在登录模块中的具体应用。
292

被折叠的 条评论
为什么被折叠?



