設計模式之單例模式

2021-07-17 05:40:42 字數 988 閱讀 3037

1 何為單例模式 

單例模式專業英文術語稱之為 

singleton,單例模式是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項。更通俗一點的解釋就是:如果乙個類始終只能建立乙個例項,則這個類被稱為單例類,這種模式就被稱為單例模式。

2  優點和缺點

優點: 確保所有物件都只訪問唯一的例項

缺點: 物件的生存週期

3  在哪些情況下使用單例模式

<1> 載入配置檔案的時候,可以使用單例模式

<2> 比如說某個類裡面的介面在很多檔案或者模組中會用到,這個時候我們就可以使用單例模式,這樣的好處就是不用再每個需要呼叫的地方去例項化這個物件。

4 如何寫單例模式

顯然單例模式的要點有三個;一是某個類只能有乙個例項;二是它必須自行建立這個例項;三是它必須自行向整個系統提供這個例項。

從具體實現角度來說,就是以下三點:一是單例模式的類只提供私有的建構函式,二是類定義中含有乙個該類的靜態私有物件,三是該類提供了乙個靜態的公有的函式用於建立或獲取它本身的靜態私有物件。

class csingleton

public:

// 三是該類提供了乙個靜態的公有的函式用於建立或獲取它本身的靜態私有物件。

static csingleton * getinstance()

};

5  **例項  

//.h檔案

#pragma once

#include "stdafx.h"

;

//.cpp 檔案

#include "stdafx.h"

#includeusing namespace std;

return m_instance;

}

設計模式之單例模式

前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會23種設計模式並且會熟練運用的人,真的就是大師級的牛人了,設計模式是乙個專案主管或者架構師一定要會的東西...

設計模式之單例模式

package com.xie.singleton public class singleton 提供乙個共有的靜態的入口方法 public static singleton getinstance 懶漢式 延遲載入 提供乙個私有的靜態的成員變數,但不做初始化 private static sing...

設計模式之 單例模式

單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。單例模式 單件模式 使用方法返回唯一的例項 public class singleton private static singleton instance public static singleton geti...