在Android上用MVP模式编程的实践

首先,谁是V?谁是P?(M我认为不是问题)

View,应该是实现显示逻辑,在Android开发中,我们认为Fragment、Activity都可以被当做View,他们主要任务就是控制显示逻辑,这部分代码不太经常重用。View通过调用P的业务逻辑,来实现业务。业务包括同步的业务(可以在UI线程操作)和异步的任务(如网络、磁盘IO等耗时操作),并根据P的业务返回结果来响应地改变UI。

对Presenter的实现,我们用AndroidAnnotations框架的EBean实现(如果不熟悉这个框架,请Google)。对于异步任务,通过AA的@Background标签来做,他的实现原理是讲任务通过一个线程池进行调度。对异步任务的返回结果,我们自定义了一个View标签,通过接口回调回去(View甚至可以不实现接口,当然就没有回调了)。这样无论View调用Presenter,还是Presenter回调View,都是通过接口实现,完全剥离了两者之间的耦合,P层的业务可以高度重用。

为了实现这个目标,我们对AndroidAnnotations做了一点扩展,Github地址在:https://github.com/ChatGame/androidannotations

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值