AFNetWorking(3.0)源碼分析(一)——基本框架

框架組成


        AFNetWorking是著名的網絡通信框架,今天,我們就一起分析一下該框架的組成。
        將AF下載導入工程後,下面是其包結構:

這裏寫圖片描述

        除去Support Files,可以看到AF分爲如下5個功能模塊:

  • 網絡通信模塊(NSURLSession)
  • 網絡狀態監聽模塊(Reachability)
  • 網絡通信安全策略模塊(Security)
  • 網絡通信信息序列化/反序列化模塊(Serialization)
  • 對於iOS UIKit庫的擴展(UIKit)

            其核心當然是網絡通信模塊,其餘的四個模塊,均是爲了配合網絡通信或對已有UIKit的一個擴展及工具包。
            這五個模塊所對應的類的結構關係圖如下所示:

這裏寫圖片描述

        可以看到,AF的核心是AFURLSessionManager類,AFHTTPSessionManager繼承於AFURLSessionManager, 針對HTTP協議傳輸做了特化。而AFURLResponseSerialization, AFSecurityPolicy, AFNetworkReachabilityManager則被AFURLSessionManager所用。
        其次,還可以看到一個單獨的UIKit包提供了對iOS UIKit類庫的擴展與工具類。
        那麼,我們的源碼分析之路,也按照這種分類,依次爲

- 網絡通信核心AFURLSessionManager分析
- HTTP網絡通信核心AFHTTPSessionManager分析
- 網絡數據的裝配解析員AFURLResponseSerialization分析
- 網絡狀態監測員AFNetworkReachabilityManager分析
- 網絡數據的組裝與解AFURLRequestSerialization/AFURLResponseSerialization 分析
- 網絡安全策略 AFSecurityPolicy分析
- AF提供的工具包AF UIKit的功能類分析

發佈了89 篇原創文章 · 獲贊 47 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章