Android 框架MVP

列举一下比较流行的3个框架MVC,MVP和MVVM,他们的全称是Model-View-Controller,Model-View-Presenter,Model-View-ViewModel

本文的意义

本文主要探讨一下MVP
转载请注明出处 ethan_xue博客

1.为什么开发需要这些框架?

本人理解是为了解耦,代码易于维护

2.回顾一下MVC

在探讨MVP之前,先回顾一下MVC在Android中的运用。

M层:javaBean,数据库存取操作,网络操作,复杂的算法,耗时的任务等都在model层处理。
V层:XML布局,显示Model层的数据结果。
C层:在Android中,Activity可以认为是控制器
举个栗子就是V层输入一些字符串,C层Activity读取字符串,并向Model发送数据请求。
这里的Activity除了做Controller的事情,还需要做一些View的事,这样就显得比较臃肿,另外View和Model是相互可知的,也就有一定的耦合,这样的耦合可能在大项目里给开发和测试带来不小的维护成本。于是演化出了MVP和MVVM

3.MVP

Android中 MVP和MVC的Model几乎是一样的,Activity自Controller层变成了View层,原有的处理是Presenter层来做,下面两张图能看出区别
这里写图片描述
这里写图片描述
可以看到View和Model不再有直接的交互,意味着这里不再有耦合了

4.一般实现方法

Presenter是通过接口来和View, Model通信的
先定义三个interface接口,分别对应View, Model, Presenter, 分别实现一下,View层的可Activity实现。
然后Activity里加Presenter的引用,这样V和P就建立联系了,P通过V的接口来在Activity更新UI,P里可加Model的引用,这样M和V就分离开了。代码到处都有,这里就不举例了,具体可参考以下链接

做了一个小demo
http://download.csdn.net/detail/ethan_xue/9840416

参考

https://segmentfault.com/a/1190000003927200
http://www.jianshu.com/p/9a6845b26856
http://blog.csdn.net/boyupeng/article/details/46884823

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值