什麼是模式?
模式 就是可以當做模型或模板的方式方法,再直白點就是可以用來當成樣板被參考的方式方法,類似於大家熟悉的範例。設計模式是指設計方面的模式,也就是設計方面的方式方法。
設計模式是經過驗證的,用於解決特定環境下,重複出現的特定問題的解決方案
特定環境:任何問題都是在某些場景下才會出現。
特定問題:說明這個解決方案不是什麼問題都能解決,只能解決某些特定的問題。
重複出現:這樣把解決方案總結出來纔有意義,以後還可以繼續使用。
經過驗證:說明設計模式是相對比較優秀的方案,是可行的方案,這樣才具有學習、研究和使用的價值。
理論上,設計模式並不一定是最好的,可能存在更好的解決方案,並且設計模式也在不斷地發展中。
設計模式並非軟件業獨有,各行各業都有自己的模式。
設計模式能讓我們複用一些相對優秀的解決方案,從而讓程序設計得比較精良,還能夠加快程序的設計和開發,能讓系統更加專業,擁有更好的架構。
如何描述設計模式?
描述一個設計模式,通常包含如下四個部分:
模式名稱:就是爲每個設計模式取個名字,好記憶好交流
環境和問題:描述在什麼場景下,出現什麼樣的特定的問題
解決方案:描述如何解決這個問題
效果:描述模式可能帶來的問題,或者使用中需要權衡的問題
已有的設計模式:
Java設計模式:GoF《設計模式:可複用面向對象軟件的基礎》一書提到的23種;
JEE核心設計模式:Sun的《J2EE核心設計模式》一書中提到15種
EJB設計模式
實時設計模式:實時系統設計模式
多線程設計模式等等
爲什麼要學習設計模式?
1.設計模式都是一些相對優秀的解決方案,很多問題都是典型的、有代表性的問題。學習設計模式,我們就不用自己從頭來解決這些問題,相當於站在巨人的肩膀上,複用這些方案即可。
2.設計模式已經成爲專業人士的常用詞彙,不懂不利於交流
3.能讓你設計的系統更加專業,讓系統有更好的架構