設計模式-單例模式

什麼是單例模式

單例模式是設計模式中最簡單的形式之一,也是一種常用的軟件設計模式,其定義是單例對象的類只能允許一個實例存在。

單例模式,屬於創建類型的一種常用的軟件設計模式。通過單例模式的方法創建的類在當前進程中只有一個實例。

如何實現單例模式

  • 單例模式特點

私有化的構造函數;

私有的靜態的全局變量;

公有的靜態方法;

  • 代碼實現
<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>

單例模式的應用場景

  • 應用程序的日誌應用
  • 應用的配置對象讀取
  • 數據庫連接池的設計

單例模式的優缺點

  • 優點
  1. 在內存中只有一個對象,節省內存空間
  2. 避免頻繁創建銷燬對象,可提高性能
  3. 避免對共享資源的多重佔用,簡化訪問
  4. 為整個系統提供一個全局訪問點
  • 缺點
  1. 不適用變化頻繁的對象
  2. 由於單例模式中沒有抽象層,因此單例類的擴展有很大的困難
  3. 單例類的職責過重,在一定程度上違背了“單一職責原則”


分享到:


相關文章: