Android中MVP架构模式详解
来源:互联网 发布:淘宝宝贝描述模素材 编辑:程序博客网 时间:2024/06/05 18:02
为什么要引入MVP模式
Android早年开发中,View层(Activity,Fragment或者自定义View)承载了太多的责任,他不仅要完成界面的更新、复杂动画的渲染等UI相关的操作,还要处理各种业务逻辑。由于职责不单一,所以View层的代码很庞大,维护和升级变得越来越困难,因此我们有必要引入MVP模式。
MVP模式的基本概念
MVP的全称是Model、View、Presenter,将应用分为三层。
- View层:视图层,包含界面相关的功能,例如各种Activity、Fragment、View、Adapter等,该层专注于用户的交互,实现设计师给出的界面、动画等交互效果。View层一般会持有Presenter的引用,或者也可以通过依赖注入(例如Dagger)的方式获得Presenter的实例,并将非UI逻辑操作委托给Presenter。
- Presenter层:逻辑控制层,充当中间人的角色,用来隔离View层与Model层,该层主要负责View层和Model层的控制和交互。例如接收View层的网络数据加载请求,并分发给对应的Model处理,同时监听Model层的处理结果,最终将其反馈给View层,实现界面的刷新。
- Model层:封装各种数据来源,例如远程网络数据,本地数据库数据等, 对Presenter层提供简单易用的接口。
MVP模式图
MVP的好处
- 如果界面发生变化,只需修改对应的View即可,Presenter和Model层无需改动。
- 如果业务逻辑或者数据获取方式发生变化,只需修改对应的Model。
- 如果控制逻辑发生变化,只需修改对应的Presenter。
- Presenter层和View层以及Model层的交互都是基于接口实现的,这有助于对Presenter进行单元测试,同时由于是面向接口编程,只需事先定义好接口,每一层的实现可以交由不同的开发人员并行实现,最终再一起联调,能够明显加快某一功能的开发进度。
- 团队的新成员拿到项目的代码,能够很容易的读懂现有的逻辑,快速上手。
- 方便进行单元测试
MVP存在的问题
- 增加代码类的数量。
阅读全文
0 0
- Android中MVP架构模式详解
- Android MVP 架构模式详解
- Android Mvp+DataBinding架构模式详解
- MVP架构模式详解
- MVP架构模式详解
- Android MVP开发模式 google 官方Mvp架构详解
- android-MVP架构模式
- Android|MVP架构模式
- Android MVP 模式 详解
- Android MVP模式详解
- Android架构:MVP模式实例
- 浅谈Android架构设计模式中MVC、MVP、MVVM
- Google官方关于Android架构中MVP模式的示例
- android中MVP模式
- android中MVP模式
- android中MVP模式
- android中MVP模式
- android中MVP模式
- C标准库常用函数实现
- Unity3D 旋转矩阵 顶点动画
- 二分查找法
- shell执行linux命令
- 局域网内固定自己的ip
- Android中MVP架构模式详解
- boost::shared_ptr 的作为参数传递,以及构造细节!
- 在java程序中制作动图
- 任何通过github搭建个人网页
- ActiveMQ、RabbitMQ和Kafka的简单对比
- AAC(高级音频编码)帧格式及编码介绍
- ssm框架整合
- Python网络爬虫与信息提取-Day10-(实例)中国大学排名定向爬虫
- C/C++的编码转换