定義:確保乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。
型別:建立類模式
類圖:
類圖知識點:
1.類圖分為三部分,依次是類名、屬性、方法
2.以《開頭和以》結尾的為注釋資訊
3.修飾符+代表public,-代表private,#代表protected,什麼都沒有代表包可見。
4.帶下劃線的屬性或方法代表是靜態的。
5.對類圖中物件的關係不熟悉的朋友可以參考文章:設計模式中類的關係。
單例模式應該是23種設計模式中最簡單的一種模式了。它有以下幾個要素:
單例模式根據例項化物件時機的不同分為兩種:一種是餓漢式單例,一種是懶漢式單例。餓漢式單例在單例類被載入時候,就例項化乙個物件交給自己的引用;而懶漢式在呼叫取得例項方法的時候才會例項化物件。**如下:
餓漢式單例
public class singleton public static singleton getinstance() } 1
2
3
4
5
6
7
publicclasssingleton
publicstaticsingleton getinstance()
} 懶漢式單例
public class singleton public static synchronized singleton getinstance() return singleton; } } 1
2
3
4
5
6
7
8
9
10
11
publicclasssingleton
publicstaticsynchronizedsingleton getinstance()
returnsingleton;}}
單例模式的優點:
適用場景:由於單例模式的以上優點,所以是程式設計中用的比較多的一種設計模式。我總結了一下我所知道的適合使用單例模式的場景:
單例模式注意事項:
1 單例模式
乙個類只能有乙個例項。比如印表機這種東西。trick在於 變數,構造方法都必須為private,所以其他類new它的構造方法是不行的,直接呼叫變數也不行。只能呼叫getinstance 方法 其他被public修飾的方法。getinstance 方法記得用public修飾。原理 public cla...
1 單例模式
某個物件只需要乙個例項的情況,比方說gamemanager,resourcemanagerusing system namespace 單例模式 定義公有方法提供乙個全域性訪問點,同時你也可以定義公有屬性來提供全域性訪問點 public static singleton getinstance 構造...
單例模式1
1 餓漢式 author version 0.1 單例模式 餓漢式 建立時進行例項化 1 私有化構造方法 2 建立私有例項 static 3 建立公共類方法 static 方法輸出單例 public class singleton5 公共方法 public static singleton5 get...