MVP设计模式

MVP设计模式

M model
是数据访问层:往往是数据接口或者服务器的API。
V View
UI显示层:主要是用于展示数据并对用户做出反馈,在
android平台上,它可以对应为Activity、Fragment、View     或者对话框。
P Presenter
逻辑处理层:可以向View层提供数据,除此之外,它还会提交一些事务。

我们为什么要用MVP的架构?

现在开发安卓人员都会遇到这种问题,那就是在一个逻辑非常的复杂的Activity中,代码量尝尝会达到数百甚至上千行,造成了activity既像view,但是某一定意义更像mvc的Controller。最终,你会发现“所有的事物都被连接到了一起” ,这样的结果就是造就“万能的对象”。
越小的类,bug越不容易出现,越容易调试,更容易测试.在MVP模式下,View和Model是完全分离没有任何直接关联的(比如你在View层中完全不需要导Model的包,也不应该去关联它们)。
使用MVP模式能够更方便的帮助Activity(或Fragment)职责分离,减小类体积,使项目结构更加清晰。

MVP设计的目的

易于维护
易于测试
降低耦合度
复用性高
健壮性稳定

解决思路

其思想是通过将Activity或Fragment看做View,并单独采用has…a…关系包含一个Presenter类的方式实现的,这是一种可行的技术方案。

MVP的四个要素

View:负责绘制UI元素,和用户进行交互。
View interface:需要View实现的接口,View通过View interface与presenter进行交互降低耦合度,方便进行单元测试。
Model:负责存储、检索、操纵数据。
Presenter:作为View和Model交互的纽带,处理用户交互的逻辑。

MVP的优缺点

缺点:增加了接口和类,多了额外的代码和学习的成本
优点:降低了耦合度、模块职责划分明显、利于测试驱动开发,代码复用、隐藏数据、代码灵活。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值