java進階篇--聊聊設計模式,分別有哪些應用場景?

凡事對做過程序開發的同學來說,都知道設計模式的內容是非常豐富且非常有趣。我們在一些優秀的框架中都能找到設計模式的具體使用,比如前面 MyBatis 中(第 13 課時)講的那些設計模式以及具體的使用場景,但由於設計模式的內容比較多,有些常用的設計模式在 MyBatis 課時中並沒有講到。因此本課時我們就以全局的視角,來重點學習一下這些常用設計模式。

我們本課時的面試題是,你知道哪些設計模式?它的使用場景有哪些?它們有哪些優缺點?

回答:

設計模式從大的維度來說,可以分爲三大類:創建型模式、結構型模式及行爲型模式,這三大類下又有很多小分類。

創建型模式是指提供了一種對象創建的功能,並把對象創建的過程進行封裝隱藏,讓使用者只關注具體的使用而並非對象的創建過程。它包含的設計模式有單例模式、工廠模式、抽象工廠模式、建造者模式及原型模式。

結構型模式關注的是對象的結構,它是使用組合的方式將類結合起來,從而可以用它來實現新的功能。它包含的設計模式是代理模式、組合模式、裝飾模式及外觀模式。

行爲型模式關注的是對象的行爲,它是把對象之間的關係進行梳理劃分和歸類。它包含的設計模式有模板方法模式、命令模式、策略模式和責任鏈模式。

下面我們來看看那些比較常見的設計模式的定義和具體的應用場景。

1. 單例模式

單例模式是指一個類在運行期間始終只有一個實例,我們把它稱之爲單例模式。

單例模式的典型應用場景是 Spring 中 Bean 實例,它默認就是 singleton 單例模式。

單例模式的優點很明顯,可以有效地節約內存,並提高對象的訪問速度,同時避免

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章