Singleton 模式
Published by Will under DesignPattern on 上午9:19Singletion 模式 : 一個類別只有一個實例,並提供一個訪問(visit)這個實例的方法。
1. 在本身類別建立自身的實體,並且建構子設定成priveate(以防止被實體化),且提供一個靜態(static)方法存取實例。
2. 可設計成在需要實例時才建立物件 (Lazy Initalization) : 一開始設定一個物件變數指向 null , 在取得物件的靜態(static)方法中檢查物件變數的內容是否為 null,如果為 null 則建立實體並回傳。- 目的為減少建立實體所浪費的資源
3. 解決多執行緒下有可能產生二個實例 : 在取得實體的靜態方法中加入synchronized機制
4. 解決同步機制效能低落問題 (Double-check Locking): 只有在第一次建立實例時才會進入同步 區
Singletion討論 : http://www.javaworld.com.tw/jute/post/view?bid=44&id=3939&sty=1&tpg=2&age=0
參考資料 : http://caterpillar.onlyfun.net/Gossip/DesignPattern/SingletonPattern.htm
0 意見:
張貼留言