面试系列——Retrofit 框架分析使用总结

Posted BridgeGeorge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试系列——Retrofit 框架分析使用总结相关的知识,希望对你有一定的参考价值。

Retrofit 框架分析

介绍

利用各种精巧的设计模式 ,以一种优雅的方式构造网络请求,内部还是利用OkHttp发送网络请求,而不是重写了一个套网络框架。

请求过程

定义获取Retrofit 实例 ,创建网络接口实例,发送网络请求,获取返回结果。

各种设计模式

构造者模式

Retrofit 实例创建利用Builder模式,简化构建方法。

外观模式

对外只提供Retrofit 实例 避免对系统的直接访问。

代理模式

网络接口到实现类的利用到动态代理,简化调用。

适配器模式

CallAdapter adapt 的实现 提供不同的Adapter实现来转化Call 请求。

工厂模式

CallAdapter.Fatory 对外屏蔽获取CallAdapter实现细节

策略模式

不同平台Platform 返回不同的callbackExecutor。

如何改变BaseUrl

1. 方案一 多Retrofit 实例

适用于baseUrl 不是很多,注意 可以通过 Retrofit 构造器Builder client(OkHttpClient ) 共享OkHttp 实例,否则会创建多个OkHttpClient ,不推荐使用。

2. 方案二 拦截器

拦截器 中重新构造请求。

3. 方案三 利用Path 参数覆写路径

静态方案,接口太多时,每个接口都要覆写path 不够优雅。

以上是关于面试系列——Retrofit 框架分析使用总结的主要内容,如果未能解决你的问题,请参考以下文章

Retrofit的浅析 —— 针对面试

Android Retrofit 源码系列~ 设计模式分析

Retrofit源码分析&实践Retrofit CallAdapter的引入

Retrofit源码分析&实践Retrofit 多BaseUrl问题解决

网络请求框架OkHttp3全解系列:OkHttp的基本使用

Android - 框架之Retrofit+RxJava的使用