DIP(軟體設計原則)

DIP是依賴倒轉原則。

依賴倒轉原則的一種表述是:細節應當依賴於抽象,抽象不應當依賴於細節。

另一種描述是:要針對接口編程,不要針對實現編程。意思就是應當使用接口和抽象類而不是具體類進行變數的類型聲明、參數的類型聲明、方法的返回類型聲明以及數據類型的轉換等。要保證這一點,一個具體java類應當只實現java接口和抽象java類中聲明過的方法,而不應當給出多餘的方法。

基本介紹

  • 中文名:依賴倒轉原則
  • 外文名:DIP
  • 表述:要依賴於抽象,不要依賴於具體
  • 接口:java
之一:依賴倒轉原則 DIP
依賴倒轉原則(Dependency Inversion Principle)講的是:要依賴於抽象,不要依賴於具體。
依賴倒轉原則的一種表述是:細節應當依賴於抽象,抽象不應當依賴於細節。
另一種描述是:要針對接口編程,不要針對實現編程。意思就是應當使用接口和抽象類而不是具體類進行變數的類型聲明、參數的類型聲明、方法的返回類型聲明以及數據類型的轉換等。要保證這一點,一個具體java類應當只實現java接口和抽象java類中聲明過的方法,而不應當給出多餘的方法。
java接口與java抽象類的區別:
1.java抽象類可以提供某些方法的部分實現,而java接口不可以。
2.一個抽象類的實現只能由這個抽象類的子類給出,一個類最多只能從一個超類繼承。任何一個實現了一個java接口所規定的方法的類都可以具有這個接口的類型,一個類可以實現任意多個java接口。
3.從代碼重構的角度來說,使用重構接口比重構抽象類要容易多。
4.java接口是定義混合類型(Mixin Type)的理想工具。所謂混合類型,就是一個類的主類型之外的次要類型。
預設適配模式
聲明類型的工作仍然是由java接口承擔的,但是同時給出的還有一個java抽象類,為這個接口給出一個預設實現。其他同屬於這個抽象類型的具體類可以選擇實現這個java接口,也可以選擇繼承自這個抽象類。
依賴倒轉原則假定所有的具體類都是會變化的,這也不總是正確的。有一些具體類可能是相當穩定的、不會發生變化的,客戶端可以直接依賴於這些具體類型,而不必為此聲明一個抽象類型。

相關詞條

熱門詞條

聯絡我們