MVP分三层 Model层 View层以及Presenter层级
(此文只是本人在工作中摸索而已 )
1:Model层级:此层级我放了三个接口
分别为 回调层 请求基层 请求层
回调层就不多做解释了
一些参数传递
写这个BaseCallBack是将一些必要的回调集成起来 省的每次都写
还未完善 可根据需求自行添加
这里我多写了一个请求基层 ,是觉得原版的MVP单单是一次请求便会多出很多类出来 ,所以想了一个分层逻辑 ,比如将登陆模块所有的请求层都存放在此接口中
拿获取版本号这块来说 这个接口的里面的抽象函数是为了待会在请求层中使用(参数可根据需求改变 比如可以添加请求工具 URL等等)
接下来说请求层 我在此层中只是做了请求 解析 数据回调
请求基层中的抽象函数中的参数关系到此层级中请求需要的参数
也是做了分层
因为此层级代码相对较多 所及参数判断不在这个层级上做过多的判断 减轻此层负担
到此Model层级编写完毕。
2:Presenter层级
首先 此层级是作为View层获取Model层级数据的桥梁
持有View层对象 以及Model层对象
两种对象可通过构造器传值获得
此层相对于简单 假如有参数判断的话一般我是在这个层级中判断
在这里我得先做View层级的介绍 以免对于Presenter层级的方法调用以及对象获取混乱
视图层
楼楼这里的getParams写的有点问题 这块函数不能在基类定义 定义在子类中扩展性比较好(考虑到一个页面假如不止一个请求接口)
这里是Activity 重写该接口中的基类以及子类的抽象函数
get开头的方法返回想传至P层级的参数 set开头的方法可以设置请求返回数据 show开头方法可以设置一些错误提示 具体可根据个人需要定义
get开头的方法返回想传至P层级的参数 set开头的方法可以设置请求返回数据 show开头方法可以设置一些错误提示 具体可根据个人需要定义
现在返回Presenter层级
应该就可以看得懂了吧
这块楼楼是在View层做的参数判断 因为这块是比较早之前写的 分层思想没那么明确
另外
像这种显示Toast啊 Dialog啊 反正有关于显示的东西楼楼觉得还是在视图层中显示比较好
最后:不喜勿喷