1.歲月的沉淀
我們為什么要學設計模式?
如果是在我剛成為程式員的時候,我大概會這么回答:
因為設計模式是前人經驗的總結,可以用來解決特定環境下,重復出現的特定問題,
同時也是程式員進階的必備知識,
上面的說法當然沒有錯,但是如果讓現在的我來回答,我會加上這幾句:
因為設計模式不會過時,
是的,在作業多年以后,看見各種技術如大浪淘沙一般從興起到衰落,看見主流技術堆疊兩三年就換血一次,我不禁陷入了深深的擔心:如果我學不動了怎么辦?
特別是在年齡漸長之后,雖然大多數技術都有相通之處,想要快速掌握并不難,可是細微之處卻也有不少坑,真用起來,踩坑肯定也是少不了的,
所以漸漸的,我開始尋找那些不變的東西,尋找在這些讓人眼花繚亂的技術背后,在漫長歲月中真正能沉淀下來的東西,
不錯,我想你已經猜到了,就是那些老生常談的東西,大學時老師曾經無數次在我耳邊強調的東西:
資料結構、演算法、設計模式…...
最質樸的東西往往最珍貴,古人誠不欺我,哈哈,
作為一名普通的碼農,資料結構和演算法平時接觸不多,真正用的多的,還是設計模式,
-
設計一個功能模塊要用到設計模式,否則根本沒法維護
-
扒開源專案的原始碼要懂設計模式,否則有可能看不懂
-
代碼review也會用到,雖然不直接用模式,但是會用到原則
所以,對我而言,設計模式已經成為擋在身前的一座山,要么跨過去,要么永遠止步于此,
所以有了簡明設計模式的寫作計劃,愿我們都能征服這座大山,最后同立山巔,看日升日落,云卷云舒,
2.設計模式的分類
設計模式一共23個,
其實設計模式之間也有很多共性和差異,為了方便理解和記憶,一般來說會分為三類:
-
創建型模式:抽象了物件實體化程序,用來幫助創建物件的實體
-
結構型模式:描述如何組合類和物件以獲得更大的結構
-
行為型模式:描述演算法和物件間職責的分配
具體情況如下圖:

3.磨一下刀
所謂磨刀不誤砍柴工,在學習設計模式之前,我們還需要掌握兩種武器:設計原則和UML類圖
學習UML類圖,是為了能夠更好的理解設計模式的結構
學習設計原則,則是為了知道設計模式為什么要這么設計
這個就放到下次說吧,
本文由博客一文多發平臺 OpenWrite 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/29072.html
標籤:Java
上一篇:程式猿職場求生指南
下一篇:Java列舉解讀
