1、什麼是設計模式
設計模式是一套被反覆使用、多數人知曉的、經過分類編目的、**設計經驗的總結。
解釋下:
分類編目:就是說可以找到一些特徵去劃分這些設計模式,從而進行分類。
**設計經驗:這句很重要,設計經驗的總結,也就是說設計模式,是為了指導設計而從經驗中總結出來的套路。
先列出三大分類是:建立型模式、結構型模式、行為型模式三種模式。
1、理解三大分類
(1)稍微解釋下
建立型模式:物件例項化的模式,建立型模式用於解耦物件的例項化過程。
結構型模式:把類或物件結合在一起形成乙個更大的結構。
行為型模式:類和物件如何互動,及劃分責任和演算法。
這麼一解釋,就連我自己其實還沒有真正明白他們到底是意思。網上大大部分對他們的解釋就到這一層,還好被我找到一篇更加詳細的介紹。
(2)更詳細解釋下
建立型模式
建立型模式對類的例項化過程進行了抽象,能夠將軟體模組中物件的建立和物件的使用分離。為了使軟體的結構更加清晰,外界對於這些物件只需要知道它們共同的介面,而不清楚其具體的實現細節,使整個系統
的設計更加符合單一職責原則。
結構型模式
結構型模式描述如何將類或者物件結合在一起形成更大的結構,就像搭積木,可以通過 簡單積木的組合形成複雜的、功能更為強大的結構。
行為型模式
行為型模式是對在不同的物件之間劃分責任和演算法的抽象化。行為型模式不僅僅關注類和物件的結構,而且重點關注它們之間的相互作用。
通過行為型模式,可以更加清晰地劃分類與物件的職責。在系統執行時,物件並不是孤立的,它們可以通過相互通訊與協作完成某些複雜功能,乙個物件在執行時也將影響到其他物件的執行。
這樣一來總算是稍稍明白點了。
2、設計模式劃分
這篇部落格的內容還是蠻少的,本打算把六大原則也寫在這篇部落格了,最後發現六大原則還是挺重要的,理解他們非常有助於在平時開發中提高自己的**質量,所以打算單獨寫一篇部落格詳細分析。
想太多,做太少,中間的落差就是煩惱。想沒有煩惱,要麼別想,要麼多做。中校
java設計模式(1) 命令模式
在一些需求場景中,有發出命令的物件,有執行命令的物件,有具體的命令。但是如果要將這些模型抽象出來可以復用,這就是常見的命令模式。命令模式中的5個角色 1 呼叫者 負責呼叫命令物件,執行命令物件的方法 2 執行者 具體執行某一方法 3 抽象命令 乙個介面或抽象類,讓具體命令實現 4 具體命令 實現抽象...
Java設計模式1 單例設計模式
1 為什麼設計成單例模式?保證類在記憶體中只有乙個物件。例如 runtime類 在計算機系統中,執行緒池 快取 日誌物件 對話方塊 印表機 顯示卡的驅動程式物件常被設計成單例。2 單例模式設計的3種方式 1 餓漢式 推薦使用 public class singleton 2,建立本類物件,定義sta...
設計模式1 工廠模式 Java實現
一 應用場景 提供建立物件的介面,可以遮蔽建立物件的具體過程,提高程式 的靈活性。二 分類 工廠模式在設計模式中有三種 1.簡單工廠模式,即靜態工廠模式 factory 2.工廠方法模式 factory method 3.抽象工廠模式 abstract factory 三 具體介紹 1.簡單工廠有三...