? ? ? ?依賴倒置原則指的是:高層次的模塊不依賴于低層次的模塊的實現(xiàn)具體細節(jié)。
? ? ? ?在Java中的表現(xiàn)就是:模塊間的依賴通過抽象類,實現(xiàn)類不發(fā)生直接的依賴關系,其依賴是通過接口或抽象類產(chǎn)生的。
? ? ? ?用一句活概括就是:面向接口編程或者說是面向抽象類編程。
? ? ? ?以上幾篇文章實現(xiàn)的緩存功能的代碼來說,首先實現(xiàn)了一個內(nèi)存緩存,創(chuàng)建了MemoryCache類,并在ImageLoader直接依賴使用。當MemoryCache不能滿足需求的時候,我們又分別創(chuàng)建了DiskCache和DoubleCache類,為了實現(xiàn)不同的需求,我們又一次在ImageLoader中修改代碼添加了DiskCache和DoubleCache功能。假如用戶再有其他的緩存策略呢?難道要不斷地創(chuàng)建各種對象,修ImageLoader中的代碼嗎?最終我們將代碼抽象出來創(chuàng)建了ImageCache接口,所有自定義緩存策略都實現(xiàn)該接口,在ImageLoader只需要用ImageCache這個對象就可以了。仔細想想這是不是就是依賴倒置原則所形容的“實現(xiàn)類不發(fā)生直接的依賴關系,其依賴通過接口或者抽象產(chǎn)生的,既高層次的模塊不依賴于低層次的模塊實現(xiàn)的具體實現(xiàn)”
面向對象的六大原則之依賴倒置原則
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內(nèi)容
- 本文出自《Android源碼設計模式解析與實戰(zhàn)》中的第一章。 1、優(yōu)化代碼的第一步——單一職責原則 單一職責原則的...
- 前言:有色無閹割版請參見 Android面向對象六大基本原則-團隊技術分享[https://www.jiansh...