常見的設計模式有哪些?實際開發中你用了什麼設計模式?

對於設計模式,相信大多數人都有了解,或爲了面試,或爲了實際開發,但是對於大多數人來說,實際開發中,真正用設計模式的地方,少之又少。最主要的原因,還是因爲我們對設計模式並未真正的理解。那麼,如何理解設計模式呢?

設計模式就是那些大佬經驗設計的總結(情境中遇到問題而經過證實的一個解決方案)。針對某些特定的場景,去使用特定的設計模式,能讓代碼更簡潔,也可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。設計模式有23種,總體來說,設計模式分爲三大類:

創建型模式(五種):工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式

結構型模式(七種):適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式

行爲型模式(十一種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式

以上標紅的設計模式,是需要我們特別掌握的,面試最容易問到。那麼,實際開發過程中,你用了什麼設計模式呢?

1)實際開發中,我使用了單例模式,比如系統要求一個對象只能產生一次,比如設計一個單例類,負責所有數據表的映射處理。

意圖(核心):保證一個類僅有一個實例,並提供一個訪問該實例的全局訪問點。

主要解決:一個全局使用的類頻繁地創建與銷燬。

何時使用:當您想控制實例數目,節省系統資源的時候。

如何解決:判斷系統是否已經有這個單例,如果有則返回,如果沒有則創建。

關鍵代碼:構造函數是私有的。

常見應用場景:
1)在項目種加載配置文件的類,一般也只是一個對象,沒有必要重複加載。

2)項目中的數據庫連接池,一般也是單例模式。

3)Spring中的每個bean默認也是單例,優點是方便Spring容器管理。

4)Springmvc中,控制器對象也是單例。

5)在Servlet編程中,每個servlet也是單例。

6)

優點:單例模式只生成一個實例,減少了系統開銷。

 




 

 

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