此文章是阅读<<Android源码设计模式解析与实战>>后的笔记记录
1.面向对象六大原则
1.1 单一职责和开闭原则
-
初始版本
ImageLoader
中提供最核心方法,通过url展示图片displayImage
方法,方法中使用缓存功能 -
根据
单一职责
将缓存功能剥离单一职责:两个完全不一样的功能就不应该放在一个类中,一个类中应该是一组相关性很高的函数,数据的封装
ImageLoader
依赖ImageCache
类,ImageCache
提供缓存的读和存功能。这样将图片展示和缓存功能分离 -
根据
开闭原则
将缓存功能剥离开闭原则:当软件需要变化时,应该尽量通过扩展的方式来实现变化,而不是通过修改已有的代码来实现
ImageCache
是一个图片缓存接口
1.2 依赖倒置原则
实现类之间不发生直接的依赖关系,其依赖关系通过接口或者抽象类产生,也就是面向接口编程
1.3 接口隔离原则
让客户依赖的接口尽可能的小