面象物件設計6大原則之五:依賴倒置原則

茅坤寶駿氹發表於2018-05-05

轉載自 面象物件設計6大原則之五:依賴倒置原則


依賴倒置原則DIP),The Dependency Inversion Principle


定義

1、高層模組不應該依賴低層模組,兩都應該依賴於抽象。

2、抽象不依賴於具體細節。

3、具體細節應該依賴於抽象。


抽象就是指介面或者抽象類,細節是指實現介面或者抽象類的具體實現類。


也就是說模組之間的依賴通過介面或抽象發生的,兩個實現細節之間不能直接發生依賴,介面不能依賴實現,實現應該依賴抽象。


我們在進行分散式系統開發時,比如常用的dubbo框架,各個系統的連線都是通過介面發生的,只要依賴對方的介面就行了,而不需要知道對方的實現,更不可能依賴對方的實現類,在實際開發中只要其他模組的人把介面定義好就行了,先按介面提供的引數開發,等真正實現類都開發完了再一起聯調。其他兩條就更好理解了,依賴都只能依賴其抽象,而不是具體實現類。


所以,採用依賴倒置原則最大的特點是減少了類與類之間的耦合性,良好的支援各個模組並行開發互不影響,也提高了系統的可讀性、可維護性和可擴充套件性。


相關文章