前言
作为经历了,自己写网络框架 到使用Volley框架 到现在使用Retrofit,深知项目换第三方框架带来的痛,n多地方请求网络的地方都要重新写一遍,艾玛,想想都想吐。
为了方便更换第三方库,我总是会强迫自己对第三方库进行二次封装。顺便熟悉下建造者模式的设计模式,毕竟网上的设计模式教程都是小儿科的demo,在实际应用中怎么去使用,还是很少的。
为什么用Builder
当我们请求网络的时候,需要一系列的参数,包括路径和请求参数,请求头,设置超时时间等等,考虑到以后可能会改,比如添加SSL判断,或者要使用gzip等,为了提高他的可拓展性,使用建造者模式可以让外部调用post方法以后,当内部逻辑改变时,不用去修改。直接在Builder类进行添加新的变量,并在post方法内部进行逻辑更改就好,外部使用者不会受到影响。
使用详情
具体实现后使用方法:
看起来是不是简洁很多?具体实现
1.先创建一个HttpClient 类,然后创建一个Builder内部类,如下图:
2.给HttpClient写一个构造器,传入builder
3.可以建立一个post方法了:
4.建一个接口,把请求网络的结果回调
5.封装retrofit的service
好了,这样一个retrofit的二次封装库算是做好了。希望对你们有帮助。彻底理解建造者模式的实战应用。
谢谢看完,还有续集:建造者模式实战--Retrofit二次封装(二)
demo地址:传送门