天天學設計模式6 依賴倒置原則和介面隔離原則

2021-09-30 13:00:17 字數 804 閱讀 2967

依賴倒置原則定義:高層模組不應該依賴低層模組,二者都應該依賴其抽象;抽象不應該依賴細節;細節應該依賴抽象。

我覺的這個定義寫的不是很好,這個定義裡面有個誤區就是高層模組和底層模組,假設有個class a和class b,b繼承a,很多人會認為a是高層模組,b是底層模組,而這個原則和這並沒什麼關係,重點是在後一句,細節應該依賴抽象。看了很多資料,我覺得這個原則最主要是關於藉口類的運用。提醒我們要用藉口類來實現抽象,由於蠻簡單的,而且網上有很多資料,就不想繼續寫下去了。

介面隔離原則:

介面隔離原則(inte***ce segregation principle, isp):使用多個專門的介面,而不使用單一的總介面,即客戶端不應該依賴那些它不需要的介面。

說起介面,第乙個想法慕容置疑就是台式電腦裡面的各式各樣的介面吧,螢幕啦,滑鼠啦,音響啦,鍵盤啦,都要通過插入乙個小口,然後和主機裡面各個硬體聯絡起來。而介面隔離原則的意思就是要各個介面有不同的作用,就像是顯示器的藉口只能接顯示器,印表機的介面只能接印表機。雖然現在很多東西都能用usb接,比如滑鼠,鍵盤都可以用usb來連線,可是在這裡不提倡。舉個例子吧

inte***ce 介面 

class 顯示器 implements 介面

void 列印(){}

} class 印表機 implements 介面

void 顯示(){} }

如果就乙個介面的話,當實現的時候就要將所有的功能都實現,可是如果有能將介面分成顯示器介面和印表機介面的話,顯示器和印表機只要分別繼承顯示器介面和印表機介面就沒必要實現沒必要的功能了。

當然,在實際情況中也不能分的太細,適當就好了。

設計模式 依賴倒置原則

what high level modules should note depend upon low level modules.both should depend 高層模組不應該依賴底層模組,兩者都應該其抽象 抽象不應該依賴細節 細節應該依賴抽象 模組間的依賴通過抽象發生,實現類之間不發生直接...

設計模式原則 依賴倒置原則(DIP)

定義 高層模組不應該依賴低層模組,二者都應該依賴其抽象 抽象不應該依賴細節 細節應該依賴抽象。問題由來 類a直接依賴類b,假如要將類a改為依賴類c,則必須通過修改類a的 來達成。這種場景下,類a一般是高層模組,負責複雜的業務邏輯 類b和類c是低層模組,負責基本的原子操作 假如修改類a,會給程式帶來不...

三 設計模式 依賴倒置原則

依賴倒置原則的原始定義為 高層模組不應該依賴低層模組,兩者都應該依賴其抽象 抽象不應該依賴細節,細節應該依賴抽象。其核心思想是 要面向介面程式設計,不要面向實現程式設計。由於在軟體設計中,細節具有多變性,而抽象層則相對穩定,因此以抽象為基礎搭建起來的架構要比以細節為基礎搭建起來的架構要穩定得多。這裡...