建立型模式之單例模式

2021-07-31 13:59:37 字數 674 閱讀 6526

功能:保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。

優點: 

缺點: 

模式應用:

乙個具有自動編號主鍵的表可以有多個使用者同時使用,但資料庫中只能有乙個地方分配下乙個主鍵編號,否則會出現主鍵重複,因此該主鍵編號生成器必須具備唯一性,可以通過單例模式來實現。

舉例:

在os中,列印池(print spooler)是乙個用於管理列印任務的應用程式,通過列印池使用者可以刪除、中止或者改變列印任務的優先順序,在乙個系統中只允許執行乙個列印池物件,如果重複建立列印池則丟擲異常。現使用單例模式來模擬實現列印池的設計。

c++舉例:

#ifndef singleton_h

#define singleton_h

class singleton;

public:

static singleton* getinstance()

return psingle;

}};singleton* singleton::psingle=null;

#endif

#include #include "singleton.h"

using std::cout;

using std::endl;

int main()

建立型模式之單例模式

1.對於系統中的某些類來說,只有乙個例項很重要,例如,乙個系統中可以存在多個列印任務,但是只能有乙個正在工作的任務 乙個系統只能有乙個視窗管理器或檔案系統 乙個系統只能有乙個計時工具或id 序號 生成器。2.單例模式 singleton pattern 單例模式確保某乙個類只有乙個例項,而且自行例項...

建立型模式之單例模式

確保乙個類只有乙個例項,並提供該例項的全域性訪問點。使用乙個私有建構函式 乙個私有靜態變數以及乙個公有靜態函式來實現。私有建構函式保證了不能通過建構函式來建立物件例項,只能通過公有靜態函式返回唯一的私有靜態變數。執行緒不安全問題主要是由於 uniqueinstance 被例項化多次,採取直接例項化 ...

建立型模式 單例模式

餓漢式 package com.hfview.designmode.signle 1.餓漢式 就是在初始化成員變數的時候就獲取例項物件 2.public class signlemode private signlemode 懶漢式 package com.hfview.designmode.sig...