鹹魚程序員之-java設計模式第六篇-享元模式

享元-共享元素 ,這種設計模式其實在我們平時編碼中很常見 ,其核心思想就是沒對象就new 對象,有對象就從已有的緩存或者其他地方取,最常見的就是java當中的池技術,比如常量池、數據庫連接池、緩衝池等 這些都是典型的不用頻繁的New 對象,而是共享一個對象  那麼這種貌似和單例是不是有點像呢,大家是不是有點疑惑。。

其實小編覺得單例和享元 的應用場景不同 ,模型類似,但不是一個概念 。。。下面小編帶大家寫一個享元模式:

這裏以在森林中創建一個樹爲例。

 

首先我們定義一個樹結構。。。

在定義一個樹節點,有x,y 和tree組成。。。。

再定義一個工廠來創建樹 ,okay 我們來測試一下:

類似這樣就是一個簡單的享元模式,其核心思想在於以下這一段:

okay 平時我們用常量池是不是也是這樣的思想 定義一個final 類型,比如當你 str1=new String ("111"),創建一個111在常量池

下次你再str2=new String ("111") 就不會再重新new 了 直接從常量池中取這個111.。。。。。

okay 享元模式的分享就到這裏,,小編希望對你有所幫助。。。。

 

 

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