如何设计一个图片加载框架?

如何设计一个图片加载框架?
我们获取图片需要设置url,也许我们还要设置到View上,还可能自定义不同的缓存和加载策略,就得提供对应方法,所以我们需要用到建造这模式简化调用链,我们还需要一个监听器让用户能自行扩展。当拿到url后,这个框架会封装成Request请求丢到阻塞队列,然后请求转发器不断取得请求转发到不同的加载器进行获取图片,加载完成后还需要按照不同的缓存策略进行缓存。
如何设计一个图片加载框架?