依赖倒置原则指的是:高层次的模块不依赖于低层次的模块的实现具体细节。
在Java中的表现就是:模块间的依赖通过抽象类,实现类不发生直接的依赖关系,其依赖是通过接口或抽象类产生的。
用一句活概括就是:面向接口编程或者说是面向抽象类编程。
以上几篇文章实现的缓存功能的代码来说,首先实现了一个内存缓存,创建了MemoryCache类,并在ImageLoader直接依赖使用。当MemoryCache不能满足需求的时候,我们又分别创建了DiskCache和DoubleCache类,为了实现不同的需求,我们又一次在ImageLoader中修改代码添加了DiskCache和DoubleCache功能。假如用户再有其他的缓存策略呢?难道要不断地创建各种对象,修ImageLoader中的代码吗?最终我们将代码抽象出来创建了ImageCache接口,所有自定义缓存策略都实现该接口,在ImageLoader只需要用ImageCache这个对象就可以了。仔细想想这是不是就是依赖倒置原则所形容的“实现类不发生直接的依赖关系,其依赖通过接口或者抽象产生的,既高层次的模块不依赖于低层次的模块实现的具体实现”
面向对象的六大原则之依赖倒置原则
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 前言:有色无阉割版请参见 Android面向对象六大基本原则-团队技术分享[https://www.jiansh...