理解設計模式

2021-09-24 09:33:32 字數 1087 閱讀 5610

title: 「理解設計模式」

url: 「

tags:

1. 單一職責(單一功能原則)

規定每個類都應該有乙個單一的功能,並且該功能能夠由這個類完全封裝起來。所有他(這個類)的服務都應該嚴密的和該功能平行(功能平行,即沒有任何依賴)。

保持乙個類專注於單一功能點上的乙個重要的原因是,他使得類更加健壯。

簡單通俗來說:乙個類負責一項職責。

2 黎克特制替換原則

派生類(子類)物件可以在程式中代替其基類(父類)物件。

簡單通俗來說:子類可以擴充套件父類的功能,但是不能改變父類原有的功能。

3 依賴倒置原則

依賴於抽象,不依賴具體。實現開閉原則的關鍵是抽象,並且從抽象化匯出具體實現,如果說開閉原則是物件導向設計的目標,那麼依賴倒置原則就是物件導向設計的主要手段。

定義:高層模組不應該依賴底層模組,而且都應該依賴其抽象,抽象不應該依賴細節,細節應該依賴抽象。

通俗說:要求對抽象進行程式設計,不要對實現進行程式設計。依賴倒置的核心思想是面向介面程式設計。

4 介面隔離原則

使用多個隔離的介面,比使用單個介面好。

建立單一介面,不要建立龐大臃腫的介面,盡量細化介面,介面中的方法盡量少。

和單一職責對比:

單一職責原則注重的是職責,而介面隔離原則注重的是對介面依賴的隔離。

單一職責主要是約束類,其次才是介面和方法,他針對的是程式中的實現和細節。而介面隔離原則主要約束介面,主要針對抽象,針對程式整體框架的構建。

5 最少知道原則

乙個物件應該對其他物件儲存最少的了解。

通俗說:乙個類對自己依賴的類知道的越少越好。也就是說,對於被依賴的類,無論邏輯多複雜,都盡量將邏輯封裝在類的內部,對外除了提供的public,不對外洩漏任何資訊。

6 開閉原則

對擴充套件開放,對修改關閉。對程式進行擴充套件的時候,不能去修改原有的**。

開閉原則是物件導向程式設計設計中最基礎的設計原則。

總結:用抽象構建框架的時候,用實現擴充套件細節。單一職責原則說實現類要職責單一,黎克特制替換原則說不要破壞繼承體系,依賴倒置說要面向介面程式設計,介面隔離表示設計介面的時候要精簡單一,最少知道認為要降低耦合。而開閉原則是總綱,宗旨是對擴充套件開放,對修改關閉。

設計模式理解

常有人調侃設計模式 語言留下的坑,就要設計模式來填。設計模式就是描述在各種不同情況下,要怎麼解決問題的一種方案。對於一些專案,我們不可能做到一次開發終身使用,而是隨著需求的不斷增多,我們需要對程式進行不斷地修改,以此來適應新的需求,通過好的設計模式,可以使我們程式松耦合,減少彼此之間的依賴,從而使其...

設計模式理解

設計模式c 學習筆記之一 strategy策略模式 設計模式c 學習筆記之二 proxy 模式 設計模式c 學習筆記之三 singleton單例模式 設計模式c 學習筆記之四 multition多例模式 設計模式c 學習筆記之五 factory method工廠方法模式 設計模式c 學習筆記之六 f...

設計模式 裝飾模式(理解)

看了 大話設計模式 pdf版的裝飾模式和其他部落格上的一些講解,第一遍很難get到講解的點在哪。經國深思,記錄下深思的結果。裝飾模式,其實就是用遞迴的方式實現了面向切面 介面 程式設計。面向切面程式設計,可以從spring框架 aop 那裡學到,模式用途,面向切面程式設計,在不用修改遠 的基礎上,新...