什麼是單例模式
單例模式是設計模式中最簡單的形式之一,也是一種常用的軟件設計模式,其定義是單例對象的類只能允許一個實例存在。
單例模式,屬於創建類型的一種常用的軟件設計模式。通過單例模式的方法創建的類在當前進程中只有一個實例。
如何實現單例模式
- 單例模式特點
私有化的構造函數;
私有的靜態的全局變量;
公有的靜態方法;
- 代碼實現
<code>template
<class
T
>class
CSingleton
{private
: CSingleton(const
CSingleton&); CSingleton&operator
= (const
CSingleton&);public
: CSingleton(){} ~CSingleton(){}static
T&Instance
()
{static
T t;return
t; } };/<code>
單例模式的應用場景
- 應用程序的日誌應用
- 應用的配置對象讀取
- 數據庫連接池的設計
單例模式的優缺點
- 優點
- 在內存中只有一個對象,節省內存空間
- 避免頻繁創建銷燬對象,可提高性能
- 避免對共享資源的多重佔用,簡化訪問
- 為整個系統提供一個全局訪問點
- 缺點
- 不適用變化頻繁的對象
- 由於單例模式中沒有抽象層,因此單例類的擴展有很大的困難
- 單例類的職責過重,在一定程度上違背了“單一職責原則”