MVP系列-第2讲-MVP改进
注意:针对于我们之前学习的内容,其实存在很多优化地方,今天我们就来学习MVP优化,我们一步步深入研究MVP设计,让你体会不一样的架构设计魅力。
内容一:MVP实现->优化->优化第1步->抽象类
1、分析问题:现在写一个功能,你觉没什么,但是如果我写了20个类(写了100个类),那么你是不是要绑定(解除绑定)100次?会想死。目的就是为了不需要这么麻烦,统一管理即可(统一绑定)
2、解决方案:抽象类(抽象类->抽取)->BasePresenter
3、代码如下
3.1 LoginPresenter实现

3.2 BasePresenter实现
注意:其余代码和第一篇文章一样,主要是P层方面做了改进

内容二:MVP实现->优化->优化第2步->泛型设计
1、分析问题:每一次强制类型转换,想死,一个类还好,100个类,强制类型转换100次。
2、解决方案:泛型设计
3、代码如下
3.1LoginPresenter实现

3.2BasePresenter实现

3.3LoginView接口

3.4BaseView接口

注意:V层中高层次抽象接口
注意:LoginModel和LoginActivity代码一模一样,没有变化,主要是P层方面做了改进。
感谢大家关注,希望大家能够动手试试,这样也许会发现更多有趣的问题,同时也欢迎广大Android爱好者给我提问题。这个是我的一点点分享,大家相互学习,一起成长!!!!!!
�
网友评论