Java設計模式學習筆記(一) 六大原則

2021-08-19 17:52:39 字數 942 閱讀 5755

寫筆記的意圖是強化記憶,其實部落格看了不少,但是看過沒有應用場景,不寫**要不了多久也就忘了,所以還是再寫一遍,加強一下記憶。

所謂設計模式,就是一套被人們反覆使用的、經過分類編目的**設計經驗的總結,它是軟體開發人員在開發過程中面臨的一般問題的解決方案,是經過長期的試驗和錯誤所獲得的。

開閉原則:意思是對擴充套件開放,對修改關閉。我們在擴充套件程式的功能時,不能對原**進行修改,這是為了便於程式後期的維護和公升級。為了達到這樣的效果,我們不得不在**的編寫過程中使用介面和抽象類。

黎克特制代換原則是物件導向設計的基本原則之一,黎克特制代換原則要求基類能夠出現的地方子類一定能夠出現。lsp是繼承復用的基石,只有當派生類可以代替基類並且不影響程式的正常功能時,基類才能夠真正地被復用,而派生類也能夠在基類的基礎上增加新的功能。黎克特制代換原則是對開閉原則的補充。實現開閉原則的關鍵在於抽象化,子類與基類的繼承關係是抽象過程的具體途徑,所以黎克特制代換原則是抽象化的實現規範。

依賴倒轉原則的內容是:抽象不依賴於細節,細節要依賴於抽象。換言之就是要針對介面程式設計,而不是針對實現程式設計。它要求我們在編碼的過程中,傳遞引數或者處理關聯關係時,要盡量使用高層次的抽象類而不用具體類。為了保證該原則的應用,具體類應當只實現抽象類或者介面定義的方法,而不應該新增方法,否則將無法呼叫具體類中的新增方法。

使用多個專門的介面,而不要使用單一的總介面,即客戶端不要實現那些它不需要的介面。

它所表達的意思是,介面僅僅定義客戶端需要的行為,隱藏不需要的行為,需要提供盡可能小的介面代替大的總介面。該原則有利於降低程式中類之間的耦合度。

又稱最少知道原則:乙個實體,應當盡可能少地與其他實體發生相互作用。

迪公尺特法則要求我們在設計程式時,儘量減少物件之間的互動,如果乙個物件不可避免地需要呼叫另乙個物件的方法,那麼它們的互動應當要通過乙個合理的第三方來**這種呼叫。

乙個類只負責乙個領域的相應職責。

它是實現「高內聚,低耦合」的指導方針,也是最簡單又最難應用的原則。

設計模式(一)六大原則

設計模式主要分為 建立型 物件建立過程 工廠模式,抽象工廠模式,單例模式 結構型 物件以及類的組合 行為型 類和物件之間的互動方式和任務分布 六大原則的核心宗旨是開閉原則 對擴充套件開放,對修改關閉 每個類應該實現單一的功能的原則,否則將要把它拆開 任何基類可以出現的地方,子類一定可以出現。黎克特制...

設計模式六大模式

定義 就乙個類而言,應該僅有乙個引起它變化的原因 否則類應該被拆分 分析 1.核心 控制類的粒度大小,將物件解耦,提高其內聚性。定義 軟體實體 類 模組 函式等 應該可以擴充套件,但是不可修改。分析 1.兩個特徵 對於擴充套件是開放的 open for extension 對於更改是封閉的 clos...

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

單一職責黎克特制替換依賴倒置介面隔離迪公尺特法則開閉 設計模式有六 則 solid原則 1 單一職責 s,single responsibility principle 這好理解,每個類只幹一樣事情 2 開閉原則 o,open closed principle 對擴充套件開放,修改閉合。怎麼那麼像黎...