標籤雲

搜尋此網誌

2009/07/21

設計模式小筆記-Singleton Pattern

Singleton Pattern
單例模式


使用時機:
希望確保一個類別只能有一個實體時使用。

懶漢式要點:
1. 類別內宣告一個本身型別的 private static 變數(本例為 theInstance)
2. private 建構子(所以只能由自己 new 實體出來)
3. 建立一個 public static 的 getInstance 方法,如果 theInstance 為空則 new 出一個實體給 theInstance 並 return (若不為空就直接 return theInstance)
4. 用戶端就透過 getInstance 方法獲得該類別實體

餓漢式要點:(靜態初始化)(目的在解決執行緒安全問題)
1. 類別不可被繼承
2. private static 變數(本例為 theInstance),宣告時就 new 一個本身型別實體,同時要設成唯讀
3. 其它部分同懶漢式

維基百科關於Singleton Pattern的說明(英文)
維基百科關於Singleton Pattern的說明(中文)

沒有留言: