Retrofit通過注解的方法標(biāo)記HTTP請求參數(shù),支持常用HTTP方法,統(tǒng)一返回值解析,支持異步/同步的請求方式,將HTTP請求對象化,參數(shù)化。真正執(zhí)行網(wǎng)絡(luò)訪問的是Okhttp,Okhttp支持HTTP&HTTP2,因此,使用Retrofit可以支持REST、HTTPS及SPDY。

行業(yè)內(nèi)分析Retrofit的使用方法的文章已經(jīng)比較豐富,這里不再贅述,如想了解這部分內(nèi)容,請參考如下鏈接。

用 Retrofit 2 簡化 HTTP 請求

Retrofit 源碼解析

本文主要從設(shè)計(jì)模式的角度分享對Retrofit源碼的一些理解。

  1. 外觀模式
  2. 建造者模式
  3. 代理模式
  4. 簡單工廠模式
  5. 工廠模式
  6. 抽象工廠模式

一、外觀模式

在封裝某些特定功能的子系統(tǒng)時,外觀模式是一種很好的設(shè)計(jì)規(guī)范。即該子系統(tǒng)的外部與內(nèi)部通信時通過一個統(tǒng)一的對象進(jìn)行。Retrofit是整個庫的一個入口類,Retrofit庫的使用基本都是圍繞著這個類。外觀模式具有高內(nèi)聚、低耦合的特性,對外提供簡單統(tǒng)一的接口,隱蔽了子系統(tǒng)具體的實(shí)現(xiàn)、隔離變化。

Retrofit的外觀模式的UML類圖如下所示。

image

網(wǎng)友評論