看安卓开发中日常棘手问题用mvp如何解决(2)

注意:针对于我们之前讨论的内容,其实存在很多优化地方,今天我们就来讨论MVP优化,我们一步步深入研究MVP设计,让大家体会不一样的架构设计魅力。

如何实现MVP->优化->优化第1步->抽象类

第一步分析问题:现在写一个功能,大家觉没什么,但是如果我写了20个类(写了100个类),那么大家是不是要绑定(解除绑定)n次了?会想死。目的就是为了不需要这么麻烦,统一管理即可(统一绑定)

第二步解决方案:抽象类(抽象类->抽取)->BasePresenter

看安卓开发中日常棘手问题用mvp如何解决(2)

第三步实现:下首先将LoginPresenter实现,然后就是BasePresenter实现

看安卓开发中日常棘手问题用mvp如何解决(2)

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

如何实现MVP->优化->优化第2步->泛型设计

首先分析问题:每一次强制类型转换,想死,一个类还好,100个类,强制类型转换100次。

提出解决方案:泛型设计

代码如下

LoginPresenter实现

看安卓开发中日常棘手问题用mvp如何解决(2)

BasePresenter实现

看安卓开发中日常棘手问题用mvp如何解决(2)

LoginView接口

看安卓开发中日常棘手问题用mvp如何解决(2)

. BaseView接口

看安卓开发中日常棘手问题用mvp如何解决(2)

注意:V层中高层次抽象接口

注意:LoginModel和LoginActivity代码一模一样,没有变化,主要是P层方面做了改进

感谢大家关注,希望大家能够动手试试,这样也许会发现更多有趣的问题,同时也欢迎广大Android爱好者给我提问题。这个是我的一点点分享,我在这里提供一些思路大家相互学习,一起成长推荐下我自己建的安卓学习群:

654759632 都是一群热爱安卓开发的伙伴大家可以在里面多交流,会有定期的大神免费直播分享和资料分享


分享到:


相關文章: