拆分类功能:
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