Singleton(单件)--对象创建模式
生活随笔
收集整理的這篇文章主要介紹了
Singleton(单件)--对象创建模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Singleton(單件)–對象創建模式
一、意圖
保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。
二、動機
1.在軟件系統中,經常有這樣一些特殊的類,必須保證它們在系統中只存在一個實例,才能確保它們的邏輯正確性、以及良好的效率。
2.如何繞過常規的構造器,提供一種機制來保證一個類只有一個實例?
3.這應該是類設計者的責任,而不是使用者的責任。
三、適用性
1.當類只能有一個實例且客戶可以從一個眾所周知的訪問點訪問它時。
2.當這個唯一實例應該是通過子類化可擴展的,并且客戶應該無需更改代碼就能使用一個擴展的實例時。
四、結構
五、效果
1.對唯一實例訪問的受控訪問。
2.縮小名空間。
3.允許對操作和表示精化。
4.比類操作更靈活。
六、實現
1.保證一個唯一的實例。
2.創建Singleton類的子類。
七、要點總結
1.Singleton模式中的實例構造器可以設置為protected以允許子類派生。
2.Singleton模式一般不要支持拷貝構造和Clone接口,因為這些有可能導致多個對象實例,與Singleton模式的初衷違背。
3.如何實現多線程環境下安全的Singleton?注意對雙檢查鎖的正確性實現。
八、舉例說明
比如要建一個全局的管理器,管理整個資源,或者建立唯一的IO訪問接口,等等。
本文為李建忠設計模式視頻的筆記以及《設計模式-可復用面向對象的軟件的基礎》和自己的部分見解
總結
以上是生活随笔為你收集整理的Singleton(单件)--对象创建模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 健步走可以减肥吗
- 下一篇: Adapter(适配器)--类对象结构型