Retrofit通過注解的方法標記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è)計模式的角度分享對Retrofit源碼的一些理解。

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

一、外觀模式

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

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

image

延伸閱讀

學(xué)習是年輕人改變自己的最好方式-Java培訓(xùn),做最負責任的教育,學(xué)習改變命運,軟件學(xué)習,再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習是年輕人改變自己的最好方式