依賴倒置原則(Dependence Inversion Principle,DIP)是 Object Mentor 公司總裁羅伯特·馬丁(Robert C.Martin)於 1996 年在C++ Report 上發表的文章。
依賴倒置原則的原始定義爲:高層模塊不該該依賴低層模塊,二者都應該依賴其抽象;抽象不該該依賴細節,細節應該依賴抽象(High level modules shouldnot depend upon low level modules.Both should depend upon abstractions.Abstractions should not depend upon details. Details should depend upon abstractions)。其核心思想是:要面向接口編程,不要面向實現編程。html
我們在碼代碼的時候,必定都寫過接口,寫過抽象類,而後再進行實例化獲得具體對象。編程
而後讓實例化獲得的具體對象依賴於接口或者抽象類,作到這點也就意味着本身的代碼遵循了依賴倒置原則。架構
依賴倒置原則的主要做用以下。.net
依賴倒置原則是實現開閉原則的重要途徑之一,它下降了客戶與實現模塊之間的耦合。
因爲在軟件設計中,細節具備多變性,而抽象層則相對穩定,所以以抽象爲基礎搭建起來的架構要比以細節爲基礎搭建起來的架構要穩定得多。這裏的抽象指的是接口或者抽象類,而細節是指具體的實現類。
使用接口或者抽象類的目的是制定好規範和契約,而不去涉及任何具體的操做,把展示細節的任務交給它們的實現類去完成。設計
摘自htm
http://c.biancheng.net/view/1326.html對象