Android MVP(个人的一些写法)

MVP分三层 Model层 View层以及Presenter层级

(此文只是本人在工作中摸索而已 )

1:Model层级:此层级我放了三个接口

分别为 回调层 请求基层 请求层

回调层就不多做解释了

一些参数传递

写这个BaseCallBack是将一些必要的回调集成起来  省的每次都写

还未完善  可根据需求自行添加

这里我多写了一个请求基层 ,是觉得原版的MVP单单是一次请求便会多出很多类出来 ,所以想了一个分层逻辑 ,比如将登陆模块所有的请求层都存放在此接口中

拿获取版本号这块来说  这个接口的里面的抽象函数是为了待会在请求层中使用(参数可根据需求改变  比如可以添加请求工具  URL等等)

接下来说请求层  我在此层中只是做了请求  解析 数据回调

请求基层中的抽象函数中的参数关系到此层级中请求需要的参数

也是做了分层
因为此层级代码相对较多  所及参数判断不在这个层级上做过多的判断 减轻此层负担

到此Model层级编写完毕。

2:Presenter层级 

首先 此层级是作为View层获取Model层级数据的桥梁

持有View层对象 以及Model层对象

两种对象可通过构造器传值获得

此层相对于简单  假如有参数判断的话一般我是在这个层级中判断

在这里我得先做View层级的介绍  以免对于Presenter层级的方法调用以及对象获取混乱

视图层
楼楼这里的getParams写的有点问题  这块函数不能在基类定义 定义在子类中扩展性比较好(考虑到一个页面假如不止一个请求接口)
这里是Activity  重写该接口中的基类以及子类的抽象函数
get开头的方法返回想传至P层级的参数  set开头的方法可以设置请求返回数据 show开头方法可以设置一些错误提示  具体可根据个人需要定义

现在返回Presenter层级

应该就可以看得懂了吧


这块楼楼是在View层做的参数判断  因为这块是比较早之前写的  分层思想没那么明确

另外

像这种显示Toast啊 Dialog啊  反正有关于显示的东西楼楼觉得还是在视图层中显示比较好

最后:不喜勿喷

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,424评论 25 708
  • 作者:李旺成 时间:2016年4月3日 “Android MVP 详解(下)”已经发布,欢迎大家提建议。 MVP ...
    diygreen阅读 129,010评论 86 1,321
  • 转载至:http://www.jianshu.com/p/9a6845b26856 “Android MVP 详解...
    SnowDragonYY阅读 10,356评论 5 241
  • 排位连跪导致我气得填词,一首农药抄献给大家 农药抄 原曲:锦鲤抄 填词:扶桑子er 你可见过打野的甄姬 你可见过带...
    扶桑子er阅读 357评论 1 8
  • 牵挂著你是那颗我的心 飘呀飘地在你面前捉摸不定 牵挂著你是那份我的情 吹呀吹到你的眼前我的心 我不愿看到你那湿润的...
    爱乐mo阅读 324评论 0 0