天天看點

史上最全的Java設計模式(更新中...)

前言:

時間過得很快,不知不覺就大三了...我感覺還有好多東西沒有學,這一段在準備軟考中級——軟體設計師,好像要用到設計模式,是以此篇部落格就當作是我的學習Java設計模式的筆記吧。

唉...也不知道這個破學校是怎麼想的,總是那麼急功近利,我學的專業是資訊與計算科學,學校是個破2b(華廣),由于就業問題,學院将這個專業轉型成大資料。先是取消了C語言,又取消了計算機組成原理、計算機網絡、然後還不開Java設計模式。計算機考研408的兩門科目都不開也是醉了!!!這tm讓我怎麼考研!!!2.8w+的學費,結果全tm讓我自學,也沒有誰了(華廣nb!!!)。

Java設計模式,我覺得是十分重要的,正所謂 “底子不牢,地動山搖!” 文法基礎,思想理論都不搞清楚就去搞大資料???

“手中無模式,心中有模式”。模式使用的最高境界是你已經不知道具體某個設計模式的定義和結構了,但你會靈活自如地選擇一種設計方案(其實就是某個設計模式)來解決某個問題,設計模式已經成為你開發技能的一部分,能夠手到擒來,“内功”與“招式”已渾然一體,要達到這個境界并不是看完某本書或者開發一兩個項目就能夠實作的,它需要不斷沉澱與積累,是以,對模式的學習不要急于求成。

今天是2021.4.13,距離軟考還有大緻47天,離22考研還有257天,時間緊迫!!!

立一個flag!!!在5月10日前,将Java設計模式的學習更新完畢,我學習的視訊依據是BiliBili上的有黑馬程式員,以及尚矽谷,大家可以一起來學習鴨!!!

設計原則的7大原則

(1)單一職責原則

一個對象應該隻包含單一的職責,并且該職責被完整地封裝在一個類中。

(2)開閉原則

軟體實體應該對擴充開發,對修改關閉。

(3)裡氏代換

所有引用基類的地方必須能透明的使用其子類對象。

(4)依賴倒轉原則

高層子產品不應該依賴低層子產品,它們都應該依賴抽象。抽象不應該依賴于細節,細節應該依賴于抽象。

(5)接口隔離原則

用戶端不應該依賴那些它不需要的接口。

(6)合成複用原則

優先使用對象的組合,而不是通過繼承來達到複用的目的。

(7)迪米特法則

每一個軟體機關對其他機關都隻有最少的知識,而且局限于那些與本機關密切相關的軟體。

六個建立型模式:

建立型模式的主要關注點是“怎樣建立對象?”,它的主要特點是“将對象的建立與使用分離”。

這樣可以降低系統的耦合度,使用者不需要關注對象的建立細節。

建立者模式有分為:

(1)單例模式

(2)簡單工程模式

(3)工廠方法模式

(4)抽象工程模式

(5)原型模式

(6)建造者模式

七個建構型模式:

十一個行為型模式: