MVP分三层 Model层 View层以及Presenter层级
(此文只是本人在工作中摸索而已 )
1:Model层级:此层级我放了三个接口
![](https://img.haomeiwen.com/i3879425/5b89ff07dc24c69d.png)
回调层就不多做解释了
![](https://img.haomeiwen.com/i3879425/26622d057b24ca4c.png)
写这个BaseCallBack是将一些必要的回调集成起来 省的每次都写
![](https://img.haomeiwen.com/i3879425/dbe9097a6804a7d3.png)
这里我多写了一个请求基层 ,是觉得原版的MVP单单是一次请求便会多出很多类出来 ,所以想了一个分层逻辑 ,比如将登陆模块所有的请求层都存放在此接口中
![](https://img.haomeiwen.com/i3879425/17407a4b4f1df3c4.png)
接下来说请求层 我在此层中只是做了请求 解析 数据回调
请求基层中的抽象函数中的参数关系到此层级中请求需要的参数
![](https://img.haomeiwen.com/i3879425/7904a557c89b603d.png)
![](https://img.haomeiwen.com/i3879425/4c4382448d264723.png)
到此Model层级编写完毕。
2:Presenter层级
首先 此层级是作为View层获取Model层级数据的桥梁
持有View层对象 以及Model层对象
两种对象可通过构造器传值获得
![](https://img.haomeiwen.com/i3879425/3b77d86f7b93db5f.png)
在这里我得先做View层级的介绍 以免对于Presenter层级的方法调用以及对象获取混乱
![](https://img.haomeiwen.com/i3879425/0302510a9cdd0222.png)
![](https://img.haomeiwen.com/i3879425/c1b1c6c81ec90430.png)
![](https://img.haomeiwen.com/i3879425/048211e012ab879d.png)
get开头的方法返回想传至P层级的参数 set开头的方法可以设置请求返回数据 show开头方法可以设置一些错误提示 具体可根据个人需要定义
现在返回Presenter层级
应该就可以看得懂了吧
![](https://img.haomeiwen.com/i3879425/3b77d86f7b93db5f.png)
![](https://img.haomeiwen.com/i3879425/5f4ccb95c420c9b1.png)
另外
![](https://img.haomeiwen.com/i3879425/5f4ccb95c420c9b1.png)
最后:不喜勿喷
网友评论