SDWebImage源码分析(一)

  拆分类功能:

      UIImageView+WebCache->集成了图片下载  

      SDWebImageManager->下载管理器

      SDWebImageDownloader->下载器(专门负责下载功能)

      SDImageCache->负责缓存(内存缓存、磁盘缓存)

      SDWebImageManagerDelegate->图片下载完成了

      SDWebImageDownloaderDelegate->图片下载完成了

 

  下载流程:

    viewController -> UIImageView(setImageWithURL)

            -> SDWebImageMangager(downloadWithURL)

            -> SDWebImageDownloader(downloadForURL)

            -> SDImageCache(缓存)

    

    采用的设计模式:

    1: 单例模式

        SDWebImageMangager

        SDImageCache

    2: 外观模式

        Manager 管理实际管理了缓存器, 下载器

        两个核心角色

          角色一: 系统对外统一接口   SDWebImageMangager

          角色二: 子系统接口            SDWebImageDownloader, SDImageCache

    3:装饰模式

         UIImageView (WebCache)OC类扩展

    4:代理模式

      SDWebImageManagerDelegate

      SDWebImageDownloaderDelegate

SDWebImage源码分析(一)

上一篇:vue.js从输入中的contenteditable元素获取innerhtml


下一篇:CSS