【Android那些高逼格的写法】泛型的应用

开始嘚啵

这是Java装B写法的第二篇,开篇我开始先来说个场景,我们写了一个Response类用来处理网络请求的response。一般Response处理完网络请求,根据返回的内容会构建一个Bean类型,我先看一下这个场景:

《【Android那些高逼格的写法】泛型的应用》 image

网络请求返回一个String(或json),根据result,构建people类型。看上去没有任何问题是吧!

好的我们这里做一个假设,可能根据不同请求,我的返回类型不是People了,可能还有个Dog。

《【Android那些高逼格的写法】泛型的应用》 image

那Response类如何处理,这时,朋友们可能会提出这样一种思路:Dog跟People类继承同一个抽象类,OK也可以。

这些方法没有好坏之分,都是根据场景决定的,如果使用抽象类,要是确实主要方法都能抽象出来还好,但如果需要调用非父类方法,之后用起来不方便。

今天会介绍另外一种写法——泛型

我们重新修改一下Response类:

《【Android那些高逼格的写法】泛型的应用》 image

然后写一个Dog的Response类:

《【Android那些高逼格的写法】泛型的应用》 image

这样就实现了可以支持多种bean类型的构建,每种不同类型只需要继承Response类,然后重写一个parse方法。

朋友们可能会提出异议:

这与抽象bean类型有啥区别,首先,很少有场景需要抽象bean类型的时候,这种抽象会让bean变得没有意义。一般抽象Response会让程序变得更清晰,因为Response一般在一个流程中只用一次。当然这也根据用户的使用场景进行修改也可能泛型并不是bean类型,也可能会是请求的类,或者其它,总之朋友们可以自己掌握好这种写法,一定能够在实际开发中派上用场。

《【Android那些高逼格的写法】泛型的应用》 image

精彩推荐

万套分类源码分享,喜欢的拿去

各类仿客户端源码大云集

6000套android源码直接放送

更新说明

本文是来自我公号的文章,欢迎大家关注我的公众号,更快的更新更友爱的微信群更全的源码示例

《【Android那些高逼格的写法】泛型的应用》 image

    原文作者:mymdeep
    原文地址: https://www.jianshu.com/p/08fd11d5ff10
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞