單例模式:保證乙個類只有乙個例項,並提供乙個訪問它的全域性訪問點,使整個系統中只有唯一的乙個物件例項。
應用:常用於管理資源,如日誌、執行緒池。
實現要點:
在類中,要構造乙個例項,就必須呼叫類的建構函式,並且為了保證全域性只有乙個例項,需防止在外部呼叫類的建構函式而構造例項,
需要將建構函式的訪問許可權標記為private,同時阻止拷貝建立物件時賦值時拷貝物件,因此也將它們宣告並許可權標記為private。
另外,需提供乙個全域性訪問點,所以要在類中定義乙個static函式,返回在類內部唯一構造的例項。
#include "stdafx.h"
#include"iostream"
using namespace std;
class singleton
void testdosomthing()
private:
singleton(){}//建構函式為private目的:防止外部呼叫構造建立物件
//下面拷貝構造和拷貝賦值符是宣告成了private而不給出定義,是阻止拷貝,如果企圖通過拷貝構造來建立第二個例項,編譯器會報錯。
singleton(singleton const &singleton);//阻止拷貝建立物件
singleton& operator=(singleton const &singleton);//阻止賦值物件
};int main()
設計模式之單例模式
前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會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...