前言
之前学习了一些别人写的MVP模式的写法,按照自己的理解,在项目中使用,感觉自己写得很烂
JM}XGZZHSVZ{)OW`8TN1ZU1.png
原来的写法是:P层写了一个接口,一个实现类,V层写了一个接口,activity实现V层的接口做UI处理(在P层实现类中调用V层接口,最后调用的是Activity的实现方法);
今天看了google的mvp写法:
mvp.png
相对比,多了一个Contract类
契约内部有2个接口,分别继承了BaseView和BasePresenter,View和Presenter中实现的方法分别是UI操作,和数据业务逻辑操作,此时是不是看的异常的清晰。
多了一个契约类,契约内部包含了2个接口,一个是Presenter一个是View,就相当于之前的写法中的接口IView和普通类Presenter,只不过现在都将这两个类所需要的业务和UI层的接口直接放在一起展现出来,变得很清晰。
参考demo地址:https://gitlab.com/yubaokang/mvpdemo_google