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

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

用 Retrofit 2 簡(jiǎn)化 HTTP 請(qǐng)求

Retrofit 源碼解析

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

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

一、外觀模式

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

Retrofit的外觀模式的UML類(lèi)圖如下所示。

image

網(wǎng)友評(píng)論