依賴倒置原則 (dependence inversion principle, dip):高層模組不應該依賴底層模組,二者都應該依賴其抽象.抽象不應該依賴細節, 細節應該依賴抽象.new 乙個小明
public class xiaoming
public void studyartscourse()
}
呼叫一下
public static void main(string args)
如果需要再新增一門體育課程,在此架構上新增體育課程,要從低層到高層依次修改**,在xiaoming類中增加studysportscourse();.高層也需要追加呼叫,系統發布後,會非常不穩定,修改**的同時也會帶來其他風險.如果優化**?
先來個課程介面
public inte***ce icourse
理科實現類
public class sciencecourse implements icourse
}
文科實現類
public class artcourse implements icourse
}
修改小明類的實現
public class xiaoming
}
呼叫**
public static void main(string args)
這種架構,如果小明還想學其他的課程,那麼我們只需要再新增乙個類,然後通過傳參的方式,不需要更改底層**
面向介面程式設計, 先頂層再細節的設計**,以抽象為基準比以細節為基準搭建的架構要穩定的多
軟體設計原則 依賴倒置原則(DIP)
要依賴於抽象,不要依賴於具體。要針對介面程式設計,不要針對實現程式設計。陳述 分析 層次化 booch 對上述論述可能存在兩種不同的理解 1 依賴關係倒置 下層的實現,依賴於上層的介面 2 介面所有權倒置 客戶擁有介面,而服務者則從這些介面派生 我們可以分兩種模式來定義 1 依賴不倒置的開發 自頂向...
重溫設計模式之軟體設計原則 依賴倒置原則
依賴倒置原則 dependence inversion principle 1 高層模組不應該依賴底層模組,二者都應該依賴抽象。2 抽象不應該依賴細節,細節應該依賴抽象。3 依賴倒置的中心思想是面向介面程式設計。4 依賴倒置原則是基於這樣的設計理念 相對於細節的多變性,抽象的東西要穩定的多。以抽象為...
設計原則 依賴倒置原則
在物件導向程式設計領域中,依賴倒置原則 dependency inversion principle,dip 是指一種特定的解耦 傳統的依賴關係建立在高層次上,而具體的策略設定則應用在低層次的模組上 形式,使得高層次的模組不依賴於低層次的模組的實現細節,依賴關係被顛倒 反轉 從而使得低層次模組依賴於...