Okhttp 快速复习上手篇

我们先从大的角度切入,对Okhttp主要需要了解以下几个方面的知识:
一、 整体框架是什么?
二、 优点是什么,如何实现这些优点?

一、整体框架是什么?
我们先看一张Okhttp的架构图

Okhttp 快速复习上手篇

从这张图可以看出,整个Okhttp可以大致拆为:

  1. Okhttp的构建,Builder,运用了Builder模式。
  2. 请求的创建,Request。
  3. 请求的分发,Dispatcher。
  4. 拦截器的实现,Intercepter,运用了责任链模式。
  5. 网络请求的回调,Response。

整个框架的核心,在于拦截器的实现。其中,对请求的重定向处理、Request封装处理、缓存处理、连接处理,网络请求处理等,都通过拦截器的方式,实现层层包装,层层拦截,最终将一个复杂的网络请求,分割成多个彼此独立,又互相关联的拦截器。(其中,自定义拦截器是最先调用的)

二、优点是什么?

  1. 通过Builder模式来构建Okhttp对象,使得配置Okhttp的请求变得更加简便,且易扩展。
  2. 通过责任链模式,处理网络请求。将一个复杂的网络请求过程,分割成多个逻辑彼此独立,又互相关联的拦截器。使得逻辑更加简单清晰,功能之间的耦合度低,易扩展,易维护,易调试。
  3. 连接池复用。通过连接池的复用,来减少频繁建立http连接所导致的开销。既可以提高网络请求的速度,又可以减少资源的开销。
上一篇:建造者模式


下一篇:建造者模式(Bulider模式)详解