介面隔離原則 設計模式之七大設計原則(上)

2021-10-12 08:49:47 字數 1876 閱讀 6702

這是雷總20多年前寫的匯程式設計序,像詩一樣優雅

而中國詩詞講究平仄、押韻、對仗等一系列的規則原則,

那麼想要寫出像詩一樣優雅的程式你不得不知的 -- 設計模式之七大原則:

1.開閉原則:對修改關閉,對擴充套件開放。

2.單一職責原則:每個類、方法只負責乙個職責或功能。

3.介面隔離原則:介面設計要精簡單一。

4.黎克特制替換原則:子類可以擴充套件父類的功能,盡量不修改父類原有的功能。

5.依賴倒置原則:高層不依賴底層,兩者都該依賴介面。(面向介面程式設計)

6.迪公尺特法則:也稱最少知道原則;只和你的朋友說話,不與陌生人說話。

7.合成復用原則:盡量先使用組合或聚合實現關聯關係,其次在考慮使用繼承關係

開閉原則

一天小a開發了某項功能經過測試並上線。但有一天這項功能需要進行公升級,此時小a 已離職,接管小a 的小b 不是在小a的原始碼上進行擴充套件,而是直接拿原始碼進行修改,造成了測試需要重新測試原來已上線的功能。這樣不僅使生產效率降低,而且還降低了系統穩定性;

當軟體需要變化時,盡量通過擴充套件軟體來實現變化,而不是通過修改已有的**來實現變化。(祖傳**不能動)

單一職責原則

5人組裝一台電腦主機

步驟一:將主機板安裝到機箱上。

步驟二:將cpu安裝到主機板並加上cpu風扇。

步驟三:將記憶體條、顯示卡、硬碟安裝到主機板上。

步驟四:將電源安裝到機箱上並接入cpu、主機板、顯示卡。

前置條件:5人不會組裝電腦。

崗前培訓:此時領導培訓該五位新人,講解如何完整的組裝一台電腦,但

5位新人並沒有完全吸收領導所講解的。

實操:5人單人作業 pk 5**水作業

5人單人作業:每人負責完整的組裝步驟,由於缺少實操,在每個步驟上都卡殼,領導也只能給每一位新人逐步解答。

5**水作業:每人只負責乙個步驟,即使5人不會完整的組裝電腦,但相對單人作業模式會減少許多問題。

把每人人比作類來看,即可得出 

每個類、方法只負責乙個職責或功能

從而降低類或方法的複雜度。從而提高程式的可讀取性。

介面隔離原則

某膝上型電腦需要兩個type-c插槽,乙個既能充電又能傳輸資料,另乙個僅資料傳輸;

此時定義乙個type-c介面:

inte***ce typec
具有實現類:

//typc1class typec1 implements typec    public function charge()}//typc2class typec2 implements typec    public function charge()}
此時typec2並不需要實現充電介面。

將其修改之:

inte***ce chargeinte***ce typec
具體實現類:

class typec1 implements typec,charge    public function charge()}class typec2 implements typec}
充電介面單獨提取出來,需要實現充電介面的type-c去實現.其客戶端不應該依賴它不需要的介面,這就是介面隔離原則。

設計模式七大原則之介面隔離原則

乙個類對另乙個類的依賴應該建立在最小的介面上,如果建立在不是最小的介面上,則要實現不需要的方法違背介面隔離原則。場景 inte ce1是乙個介面,有五個方法,c和d分別實現了inte ce1介面,a通過inte ce1對c產生依賴,但只需要用到function1,function2,function...

設計模式七大原則之介面隔離原則

基本介紹 客戶端不應該依賴它不需要的介面,即乙個類對另乙個類的依賴應該建立在最小的介面上 先看一張圖 類a通過介面inte ce1依賴類b,類c通過介面inte ce1依賴類d,如果介面inte ce1對於類a和類c來說不是最小介面,那麼類b和類d必須去實現他們不需要的方法。按隔離原則應當這樣處理 ...

設計模式七大原則之介面隔離原則(ISP)

介面隔離原則基本介紹 不應該依賴不需要的介面,即乙個類對另乙個類的依賴應該建立在最小的介面上。場景 1.類b實現介面inte ce1 類a通過介面inte ce1依賴 使 用 類b,但是只會用到1,2,3方法 2.類d實現介面inte ce1 類c通過介面inte ce1依賴 使 用 類d,但是只會...