大話設計模式之單例模式 Singleton

2021-06-02 13:46:00 字數 1192 閱讀 8575

目錄定義

uml參與者示例

定義:

單例模式的意思就是只有乙個例項。單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱為單例類。

應用:

每台計算機可以有若干個印表機,但只能有乙個printer spooler, 以避免兩個列印作業同時輸出到印表機中。每台計算機可以有若干傳真卡,但是只應該有乙個軟體負責管理傳真卡,以避免出現兩份傳真作業同時傳到傳真卡中的情況。每台計算機可以有若干通訊埠,系統應當集中管理這些通訊埠,以避免乙個通訊埠同時被兩個請求同時呼叫。

uml:

參與者:

singleton 角色:定義乙個例項操作,同一段時間只能被乙個客戶訪問。

示例:

namespace singletonpattern

console.readkey();}}

class singleton

public

static singleton instance()

return _instance;}}}

實際運用:

using system;

using system.collections.generic;

using system.threading;

namespace dofactory.gangoffour.singleton.realworld

// load balance 15 server requests

loadbalancer balancer = loadbalancer.getloadbalancer();

for (int i = 0; i < 15; i++)

// wait for user

console.readkey();}}

///

/// the 'singleton' class

///

class loadbalancer

public

static loadbalancer getloadbalancer()}}

return _instance;

}// ******, but effective random load balancer

public

string server}}}

大話設計模式 單例模式

在開發過程中,其實很多情況下,都需要用到單例模式來維持物件的唯一性。比如執行緒池 資料來源 sessionfactory等。一般的做法 懶漢式 public class myclass 宣告乙個靜態方法來返或乙個單例物件 public static myclass getinstance 但是這個會...

大話設計模式 單例模式

一 單例模式 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。二 例項 public class singleton public static singleton getinstance return singleton public class singletondousync publ...

大話設計模式 設計模式 單例設計模式

解決的問題 保證乙個類在記憶體中的唯一性。比如,必須要對於多個程式使用同乙個配置資訊時,就需要保證該物件的唯一性。原理 如何保證物件的唯一性呢?不允許其他程式使用new建立該類物件 在該類中建立乙個本類物件 對外提供乙個公共方法,使其他程式可以獲取該例項。步驟 私有化該類的建構函式 通過new在本類...