目錄
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 黎克特...