MVP模式在Android中的应用实例

一、什么是MVP
Model是模型,指的是数据源层,包含实体类或者数据接口,远程服务器API
View是视图,可以是一个Activity或者其他View
Presenter主导器,负责从Model获取数据提供给View,从View获取数据提供给Model修改,还负责后台任务(大概指的是业务逻辑或者Service,其他线程任务吧)

二、为什么要使用MVP
绝大多数Android程序使用View-Model架构,这样做有个缺点,就是ViewModel之间错综交互,修改一处则会牵动其他地方,导致维护性和拓展性极差,不符合Kiss原则。


如果使用MVP,则好处之一是ViewModel(Data)之间界限分明,功能明确,对象变得小了,更容易测是。View在请求数据的时候甚至不需要使用回调,避免回调地狱。

好处之二是处理configuration改变或者发生out-of-memory事件的情况下。

三、例子
实现的功能图片:


首先,创建几个包

注意bean表示实体类,model要用的,单独分开。
接着,创建类和接口

Presenter一方面要与view交互,一方面要与model交互,因此需要两个interface
然后,分析各自要包含的内容。
一从presenter开始,它需要两个interface的引用,还需要处理事务,因此它的成员有

二modelinterface的内容。因为要获取实体,并且要修改实体,所以它的内容如下


三viewinterface的内容。因为用户交互(用户输入、点击等)会产生数据,动作、结果,数据要通过presentermodel,动作要产生结果。即用户输入的namepassword要给model,用户点击login有成败的结果,用户点击clear有结果要展示,所以它的内容有

四、三个interface的实现。这个很容易,注意viewinterface的实现在activity上。

最后在activity中进行调用,注意它持有presenter的引用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值