六大設計原則之DIP

2021-08-29 01:35:35 字數 1430 閱讀 4092

目錄

1.簡介

2.定義

3.依賴

3.1 建構函式傳遞依賴物件

3.2 setter方法傳遞依賴物件

3.3 介面宣告依賴物件

4.舉例

依賴倒置原則(dependence inversion principle),簡稱dip。

高層模組不應該依賴於低層模組,兩者都應該依賴其抽象。抽象不應該依賴細節。細節應該依賴抽象。這裡的低層模組就是不可分割的原子邏輯,原子邏輯再組裝就成了高階模組。抽象是指介面或者抽象類,兩者都是不能直接被例項化;細節就是實現類,實現介面或繼承抽象類而產生的類,可以直接被直接例項化。所謂的能否直接例項化也就在於是否可以通過關鍵字new產生的乙個物件。簡單來說就是模組之間的依賴都是通過抽象發生,實現類之間並不直接產生依賴關係,其依賴關係都是通過介面或者抽象類產生的。實現類依賴介面或抽象類,但介面或抽象類不依賴實現類。這也正好對應面向介面程式設計。

傳說中的實現方式有三種,且聽我一一道來。假設存在兩個介面iface1和ifce2,iface1的實現類依賴iface2。

public inte***ce iface1

public inte***ce iface2

public class face1 implements iface1

public void method1()

}

public inte***ce iface1

public inte***ce iface2

public class face1 implements iface1

public void method1()

}

public inte***ce iface1

public inte***ce iface2

public class face1 implements iface1

}

想必大家都看過水滸傳吧,其中有一人身上刺滿一身青龍,刀槍劍戟十八班武藝樣樣精通,江湖人稱九龍紋龍史進是也。

public inte***ce iwupo 

public inte***ce iweapon

public class wupo implements iwupo

}public class sword implements iweapon

}public class stick implements iweapon

}public class shuifu

}

這樣,如果史進不想用劍了,改用其他兵器,我們可以只對高層模組進行修改

public class shuifu 

}

這便是dip的核心,面向介面程式設計。

六大設計原則之依賴倒置原則(DIP)

一 solid 設計模式的六大原則有 把這六個原則的首字母聯合起來 兩個 l 算做乙個 就是 solid solid,穩定的 其代表的含義就是這六個原則結合使用的好處 建立穩定 靈活 健壯的設計。下面我們來看一下依賴倒置原則。設計模式六大原則 solid 二 依賴倒置原則定義 1 上層模組不應該依賴...

六大設計原則

1.單一職責原則 單一職責原則 single responsibility principle,srp 有且僅有乙個原因引起類的變更,乙個介面或類只有乙個職責。2.黎克特制替換原則 黎克特制替換原則 liskov substitution principle,lsp 所有引用基類的地方必須能透明地使...

六大設計原則

六大設計原則,按照英文首字母概括為sollid,可簡單理解為 solid 穩定的。這六大設計原則如下 single responsibility principle 單一職責原則 open closed principle 開閉原則 liskov substitution principle 黎克特...