設計模式 八大設計原則

2021-10-08 11:28:07 字數 1082 閱讀 9130

1.依賴倒置原則(dip)

(1) 高層模組(穩定)不應該依賴於低層模組(變化),二者都應該依賴於抽象(穩定)。

(2) 抽象(穩定) 不應該依賴於實現細節(變化),實現細節應該依賴於抽象(穩定)。

這裡「抽象」指的是抽象基類,「實現細節」是指子類,低層模組繼承於抽象類,抽象類為高層模組提供低層模組的介面。

2.開放封閉原則(ocp)

(1) 對擴充套件開放,對更改封閉。

(2) 類模組應該是可擴充套件的,但是不可修改。

3.單一職責原則(srp)

(1) 乙個類應該僅有乙個引起它變化的原因。

(2) 變化的方向隱含著類的責任。

4.liskov替換原則(lsp)

(1) 子類必須能夠替換它們的基類(is-a);

(2) 繼承表達型別抽象。

5.介面隔離原則(isp)

(1) 不應該強迫客戶程式依賴於它們不用的方法。

(2) 介面應該小而完備。

指的是類中方法和屬性的訪問許可權的設定規則:當前類中使用則用private,子類中使用則用protected,需要提供給外界使用則用public。

6.優先使用物件組合,而不是類繼承

(1) 類繼承通常為「白箱復用」,物件組合通常為「黑箱復用」。

(2) 繼承在某種程度上破壞了封裝性,子類父類耦合度高。

(3) 而物件組合則只要求被組合的物件具有良好定義的介面,耦合度低。

7.封裝變化點

(1) 使用封裝來建立物件之間的分界層,讓設計者可以在分界層一側進行修改,而不會對另一側產生不良的影響,從而實現層次間的松耦合。

8.針對介面程式設計,而不是針對實現程式設計

(1) 不將變數型別宣告為某個特定的具體類,而是宣告為某個介面。

(2) 客戶程式無需獲知物件的具體型別,只需要知道物件的介面。

(3) 減少系統中各部分的依賴關係,從而實現「高內聚、低耦合」的型別設計方案。

C 設計模式(二) 物件導向八大設計原則

變化是復用的天敵!物件導向設計最大的優勢在於 抵禦變化!從巨集觀層面來看,物件導向的構建方式更能適應軟體的變化,能將變化所帶來的影響減為最小。從微觀層面來看,物件導向的方式更強調各個類的 責任 由於需求變化導致的新增型別不應該影響原來型別的實現 是所謂各負其責 從語言實現層面來看,物件封裝了 和資料...

物件導向八大設計原則

目的是使程式更加靈活 開 閉原則 目標 總的指導思想 open closed principle 對擴充套件開放,對修改關閉。增加新功能,不改變原有 類的單一職責 乙個類的定義 single responsibility principle 乙個類有且只有乙個改變它的原因。適用於基礎類,不適用基於基...

物件導向八大設計原則

1 依賴倒置模式 dip 穩定不依賴於變化,提出了抽象類。2 開放封閉原則 ocp 對擴充套件開放,對更改封閉 類模組應該是可擴充套件,不可修改的 3 單一職責原則 srp 類裡面不要放太多的成員,這代表這個類裡面隱含了多個責任。4 liskov替換原則 lsp 5介面隔離原則 isp 介面應該小而...