依赖倒置原则指的是:高层次的模块不依赖于低层次的模块的实现具体细节。
在Java中的表现就是:模块间的依赖通过抽象类,实现类不发生直接的依赖关系,其依赖是通过接口或抽象类产生的。
用一句活概括就是:面向接口编程或者说是面向抽象类编程。
以上几篇文章实现的缓存功能的代码来说,首先实现了一个内存缓存,创建了MemoryCache类,并在ImageLoader直接依赖使用。当MemoryCache不能满足需求的时候,我们又分别创建了DiskCache和DoubleCache类,为了实现不同的需求,我们又一次在ImageLoader中修改代码添加了DiskCache和DoubleCache功能。假如用户再有其他的缓存策略呢?难道要不断地创建各种对象,修ImageLoader中的代码吗?最终我们将代码抽象出来创建了ImageCache接口,所有自定义缓存策略都实现该接口,在ImageLoader只需要用ImageCache这个对象就可以了。仔细想想这是不是就是依赖倒置原则所形容的“实现类不发生直接的依赖关系,其依赖通过接口或者抽象产生的,既高层次的模块不依赖于低层次的模块实现的具体实现”
面向对象的六大原则之依赖倒置原则
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言:有色无阉割版请参见 Android面向对象六大基本原则-团队技术分享[https://www.jiansh...