再谈接口通信
接口通信要时刻明确一点那就是实现类覆写的一切方法都是一种预先设计好的逻辑是没有被执行的逻辑预设,内部所有方法的执行都要通过具体的子类调用才能执行相关的方法和逻辑。
无参数的方法
无参数的方法在View层主要是有关View的操作可以通过在Presenter层写同样的方法实现参数传递是的调用也就是在View层调用的是Presenter层的方法实现View层方法的调用。
有参数的方法
有参数的方法要明确一下几点:1.如果是要从远端获取数据那么要明确View层和数据层是完全分开的所以真正可以实现和两层都有交互的是Presenter层,故需要将View层的数据通过调用Presenter层的方法传入到Presenter层,Presenter层通过调用Model层的方法将获得的数据传递给数据层。2.两个持有:View层和Presenter互相持有彼此的具体实例,Presenter层从远端获得数据后调用View层的方法将数据传递到View层。3.这里提到的从远端获取数据主要是通过具体实现远端定义的含参方法接口类来进行的,也就是将接口做为方法的参数,这样的话Presenter既可以向Model层传递从View层获得的参数,又可以直接从Model层获取网络请求的数据,实现了传收数据的一体化。
直接调用自己的还是交给Presenter
为了使得项目整体的规范性更加符合Mvp的要求自己选择的是将View的显示操作交给了Presenter层这样从另一个角度来看的话会使得代码的逻辑更加的规范化。
小的要点
在接口通信的过程中如果View层的相关的控件是采用黄油刀的方式实现初始化的,那么Presenter层可以直接拿到View层具体的控件。