面象物件設計6大原則之五:依賴倒置原則
依賴倒置原則(DIP),The Dependency Inversion Principle
定義
1、高層模組不應該依賴低層模組,兩都應該依賴於抽象。
2、抽象不依賴於具體細節。
3、具體細節應該依賴於抽象。
抽象就是指介面或者抽象類,細節是指實現介面或者抽象類的具體實現類。
也就是說模組之間的依賴通過介面或抽象發生的,兩個實現細節之間不能直接發生依賴,介面不能依賴實現,實現應該依賴抽象。
我們在進行分散式系統開發時,比如常用的dubbo框架,各個系統的連線都是通過介面發生的,只要依賴對方的介面就行了,而不需要知道對方的實現,更不可能依賴對方的實現類,在實際開發中只要其他模組的人把介面定義好就行了,先按介面提供的引數開發,等真正實現類都開發完了再一起聯調。其他兩條就更好理解了,依賴都只能依賴其抽象,而不是具體實現類。
所以,採用依賴倒置原則最大的特點是減少了類與類之間的耦合性,良好的支援各個模組並行開發互不影響,也提高了系統的可讀性、可維護性和可擴充套件性。
相關文章
- 設計模式六大原則(3):依賴倒置原則設計模式
- 面象物件設計6大原則之四:介面隔離原則物件
- Java設計模式之依賴倒置原則Java設計模式
- 面象物件設計6大原則之三:里氏替換原則物件
- SOLDI原則之DIP:依賴倒置原則
- 面象物件設計6大原則之一:單一職責原則物件
- 面象物件設計6大原則之二:開放封閉原則物件
- 嘻哈說:設計模式之依賴倒置原則設計模式
- 依賴倒置三個原則
- 四 : DIP(依賴倒置原則)
- 依賴倒置原則(Dependence Inversion Principle)
- 設計原則之【依賴反轉原則】
- 完整的PHP依賴倒置原則例程PHP
- 設計模式之依賴倒置原則含義及現實舉例設計模式
- 物件導向設計6大原則物件
- 設計原則-依賴反轉原則
- Laravel深入學習12 – 依賴倒置原則Laravel
- python3 依賴倒置原則示例Python
- 依賴倒置原則的基本用法和介紹
- 設計模式6大原則設計模式
- 設計模式六大原則(6):開閉原則設計模式
- 【設計原則】物件導向程式設計的六大原則物件程式設計
- 設計模式“6”大原則!設計模式
- 設計模式之7大原則設計模式
- 設計模式六大原則(五)----迪米特法則設計模式
- 物件導向設計的六大原則(SOLID原則)-——里氏替換原則物件Solid
- Java的設計模式和6大原則Java設計模式
- 設計模式之六大原則設計模式
- 物件導向設計原則之開閉原則物件
- 理解面對物件的六大原則物件
- 設計模式的七大原則(6) --迪米特法則設計模式
- 物件導向設計原則之合成複用原則物件
- 物件導向設計原則之介面隔離原則物件
- 物件導向設計原則之里氏代換原則物件
- 架構設計的五大原則-SOLID架構Solid
- 設計模式(一)——物件導向六大原則設計模式物件
- 設計模式六大原則(六)----開閉原則設計模式
- 「Android設計模式之旅」——設計模式的6大原則Android設計模式