Android mvp开发模式
来源:互联网 发布:java svg转jpg 编辑:程序博客网 时间:2024/05/20 11:50
MVP简介
相信大家对MVC都是比较熟悉了:M-Model-模型、V-View-视图、C-Controller-控制器,MVP作为MVC的演化版本,那么类似的MVP所对应的意义:M-Model-模型、V-View-视图、P-Presenter-表示器。 从MVC和MVP两者结合来看,Controlller/Presenter在MVC/MVP中都起着逻辑控制处理的角色,起着控制各业务流程的作用。而 MVP与MVC最不同的一点是M与V是不直接关联的也是就Model与View不存在直接关系,这两者之间间隔着的是Presenter层,其负责调控 View与Model之间的间接交互,MVP的结构图如下所示,对于这个图理解即可而不必限于其中的条条框框,毕竟在不同的场景下多少会有些出入的。在 Android中很重要的一点就是对UI的操作基本上需要异步进行也就是在MainThread中才能操作UI,所以对View与Model的切断分离是 合理的。此外Presenter与View、Model的交互使用接口定义交互操作可以进一步达到松耦合也可以通过接口更加方便地进行单元测试。
MVP结构图
MVP之Model
模型这一层之中做的工作是具体业务逻辑处理的实现,都伴随着程序中各种数据的处理,复杂一些的就明显需要实现一个Interface来松耦合了。
MVP之View
视图这一层体现的很轻薄,负责显示数据、提供友好界面跟用户交互就行。MVP下Activity和Fragment体现在了这一 层,Activity一般也就做加载UI视图、设置监听再交由Presenter处理的一些工作,所以也就需要持有相应Presenter的引用。例 如,Activity上滚动列表时隐藏或者显示Acionbar(Toolbar),这样的UI逻辑时也应该在这一层。另外在View上输入的数据做一些 判断时,例如,EditText的输入数据,假如是简单的非空判断则可以作为View层的逻辑,而当需要对EditText的数据进行更复杂的比较时,如 从数据库获取本地数据进行判断时明显需要经过Model层才能返回了,所以这些细节需要自己掂量。
MVP之Presenter
Presenter这一层处理着程序各种逻辑的分发,收到View层UI上的反馈命令、定时命令、系统命令等指令后分发处理逻辑交由Model层做具体的业务操作。
- Android MVP开发模式
- android MVP 开发模式
- Android mvp开发模式
- Android 开发MVP模式
- Android mvp开发模式
- android mvp开发模式
- Android开发MVP模式解析
- Android开发MVP模式实践
- android开发模式之MVP
- Android开发MVP模式解析
- Android开发MVP模式实践
- Android中的 mvp 开发模式
- Android MVP 开发模式优缺点
- Android开发MVP模式解析
- Android开发中的MVP模式
- Android MVP开发模式实例
- android开发之--MVP模式
- Android开发之MVP模式
- 艰苦奋斗矢志不渝
- 关于物理层的那点事
- R语言基础入门之五:简单线性回归
- 线程基础知识笔记
- Spring boot 在执行sql 脚本的时候,会出现中文乱码问题
- Android mvp开发模式
- 抽象类和接口
- Codeforces 358E
- 用户空间与内核的交互---IOCTL
- static关键字
- mysql 存储过程、触发器、视图、游标、分布式事务-之存储过程
- mysql分区类型及操作
- android内容提供者contentProvider
- Matlab GUI 图像识别与图像处理