天天看點

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

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

1、高層子產品不應該依賴低層子產品,兩都應該依賴于抽象。

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

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

抽象就是指接口或者抽象類,細節是指實作接口或者抽象類的具體實作類。

也就是說子產品之間的依賴通過接口或抽象發生的,兩個實作細節之間不能直接發生依賴,接口不能依賴實作,實作應該依賴抽象。

我們在進行分布式系統開發時,比如常用的dubbo架構,各個系統的連接配接都是通過接口發生的,隻要依賴對方的接口就行了,而不需要知道對方的實作,更不可能依賴對方的實作類,在實際開發中隻要其他子產品的人把接口定義好就行了,先按接口提供的參數開發,等真正實作類都開發完了再一起聯調。其他兩條就更好了解了,依賴都隻能依賴其抽象,而不是具體實作類。

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

繼續閱讀