設計模式學習筆記 設計原則

2021-07-28 08:37:47 字數 1663 閱讀 3194

設計模式是一套物件導向的**設計經驗總結,是在程式設計領域被反覆使用,被多數人知曉,而且經過分類整理的**設計方法。使用設計模式是為了可重用**、讓**更容易被他人理解、保證**可靠性。

1設計原則:

六大設計原則:單一職責原則,黎克特制代換原則,開放-封閉原則,依賴倒轉原則,合成/聚合復用原則,迪公尺特法則

單一職責原則

單一職責原則的定義比較簡單:對於乙個類,應該只有乙個引起它變化的原因

遵循單一職責原則的好處有:降低類的複雜度,乙個類只負責一項職責,其邏輯肯定比負責多項職責簡單;提高類的可讀性,提高系統的可維護性。

黎克特制代換原則

黎克特制代換原則的定義:子型別必須能夠替換它們的父型別

只有滿足了黎克特制代換原則後,也就是說子類可以替代父類出現,並且不影響程式的功能時,父類才能真正的得到復用,並且子類可以在父類的基礎上新增新的行為。

開放-封閉原則

開放-封閉原則的定義是:程式的實體物件(模組,類,函式等)應該可以進行擴充套件,但不應該可以修改。

開放-封閉原則具有兩個特徵:

1對於擴充套件是開放的;

2對於修改是封閉的;

依賴倒轉原則

依賴倒轉原則的定義是:程式的高層模組不應該依賴於低層模組,但兩者都應該依賴於抽象;抽象不應該依賴於具體細節,而細節應該依賴於抽象

使用依賴倒轉原則意味著上層類不直接使用底層類,它們使用介面作為抽象層。在這種情況下,在上層類中建立底層類的物件時不能直接使用new 關鍵字。可以使用一些建立型設計模式,例如 工廠方法,抽象工廠和原型模式。

模板設計模式是依賴倒轉原則的乙個例子。

合成/聚合復用原則

合成/聚合復用原則的定義是:盡量不使用類繼承,而盡量使用合成/聚合。

合成/聚合復用原則的優缺點:

1 新物件訪問子物件的唯一方法就是通過子物件的介面

2:這種復用是黑箱的復用,因為子物件的內部細節是新物件看不見的。

3:這種復用更好地支援封裝的特性。

4:這種復用實現上互相依賴性是比較小的。

5:每乙個新的類都可以將焦點集中在乙個任務之上。

6:這種復用可以在執行時動態的進行,新的物件可以動態地引用與子物件型別相同的物件。

7:作為復用手段幾乎可以應用到任何環境中去。

合成/聚合復用原則的缺點就是系統中會有較多的物件需要管理。

迪公尺特法則

迪公尺特法則的定義:如果兩個類之間不必直接通訊,則著兩個類不應該發生直接的相互作用。如果其中的乙個類需要呼叫另乙個類的某個方法,可以通過第三方**這個呼叫。

設計模式 學習筆記之設計原則

這好像是我第一次開始寫部落格,還是有點激動的,俗話說的好,好記性不如爛筆頭,更何況我的記性還不好,所以我決定在學習設計模式的同時,將其中自己認為重要的知識點記錄下來,讓以後自己回頭查詢知識點的時候能更快一些。首先,講一講設計原則。設計原則詳解 設計模式存在的根本原則是為了 的復用,增加可維護性。有如...

設計模式學習 設計原則

單一職責原則 就乙個類而言,應該僅有乙個引起他變化的原因 如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責的能來,這種耦合會導致脆弱的設計,當變化發生時,設計會遭受意想不到的破壞 如果你能想到多於乙個的動機去改變乙個類,那麼這個類就具有多餘乙個...

設計模式學習筆記 物件導向設計原則

1 單一職責 乙個類只應該做一樣事情 2 開閉原則 對擴充套件開放,對修改封閉 3 黎克特制代換 以父類的名義統一進行呼叫,使用時賦以具體子類,實現多型。4 依賴倒轉 是黎克特制代換原則另一種表述。針對介面 抽象程式設計,其實也就是以父類的名義統一進行呼叫,使用時賦以具體子類,實現多型。5 介面隔離...