安卓作业--第四篇
来源:互联网 发布:python类和对象 编辑:程序博客网 时间:2024/06/09 16:57
MVP模式之TheMVP学习笔记(注:标红的文字解释是重点)
原文博客链接:http://blog.kymjs.com/code/2015/11/09/01/?utm_source=tuicool&utm_medium=referral
GitHub链接:https://github.com/kymjs/TheMVP
什么是MVP
MVP(Model-View-Presenter)是一个将后台任务和activities/views/fragments分离的方法,让他们独立于绝大多数跟生命周期相关的事件。这样应用会变得更加简单,应用的稳定性提升,代码也变得更短,可维护性增加。
View是指显示数据并且和用户交互的层。在安卓中,他们可以使一个Activity,一个Fragment,一个android.view.View或者一个Dialog
Model是数据源层。比如数据库接口或者远程服务器的API(Application Programming Interface)
Presenter是从Model中获取数据并提供给View层,Presenter还负责处理后台任务。
为什么需要MVP
在Android开发中,Activity并不是一个标准的MVC模式中的Controller(C层起到桥梁的作用,来控制V层和M层通信以此来达到分离视图显示和业务逻辑层),它的首要职责是加载应用的布局和初始化用户界面,并接受并处理来自用户的操作请求,进而作出响应。但是,随着界面及其逻辑的复杂度不断提升,Activity类的职责不断增加,以致很容易变得庞大而臃肿。
越小的类,bug越不容易出现,越容易调试,更容易测试,我相信这一点大家是都赞同的。在MVP模式下,View和Model是完全分离没有任何直接关联的(比如你在View层中完全不需要导Model的包,也不应该去关联它们)。
使用MVP模式能够更方便的帮助Activity(或Fragment)职责分离,减小类体积,使项目结构更加清晰。
TheMVP原理介绍
与传统androidMVP不同(原因上文已经说了),TheMVP使用Activity作为Presenter层来处理代码逻辑,通过让Activity包含一个ViewDelegate对象来间接操作View层对外提供的方法,从而做到完全解耦视图层。如下图:
- 安卓作业--第四篇
- 安卓入门第四篇
- 安卓作业--第二篇
- 安卓作业--第三篇
- 安卓第四记
- 安卓作业
- 安卓作业
- 安卓作业
- 安卓学习第四天
- 安卓学习第四天
- 安卓 第四章 适配器
- 安卓学习第四天
- 安卓作业—词典
- 安卓作业--第一篇
- NFC的安卓事儿(第四篇)
- 【React Native 安卓开发】----(Picker)【第四篇】
- 安卓开发 第四篇 我的安卓应用架构设计-----Presenter类
- 安卓第四天笔记-Sqlite
- 一步一步教你用 java 生成二维码
- 五大常用算法之二:动态规划算法
- yum nginx 安装时错误 Errno 14 Couldn't resolve host 解决办法
- 解压缩命令
- CodeForces 589F 二分答案
- 安卓作业--第四篇
- CryptoJS简单使用
- ++++++jquery相关基础知识++++++
- 图文详解YUV420数据格式
- Centos6.5使用yum安装mysql——快速上手必备
- Android uiautomator环境搭建
- 10046和10053使用方法
- iOS-OC-AFNetworking上传和下载(回调下载进度)
- kmp算法理解