建立型模式之單例模式

2021-08-28 07:32:02 字數 530 閱讀 7955

1.對於系統中的某些類來說,只有乙個例項很重要,例如,乙個系統中可以存在多個列印任務,但是只能有乙個正在工作的任務;乙個系統只能有乙個視窗管理器或檔案系統;乙個系統只能有乙個計時工具或id(序號)生成器。

2.單例模式(singleton pattern):單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項,這個類稱為單例類,它提供全域性訪問的方法。

3.單例模式的要點有三個:一是某個類只能有乙個例項;二是它必須自行建立這個例項;三是它必須自行向整個系統提供這個例項。單例模式是一種物件建立型模式。單例模式又名單件模式或單態模式。

懶漢式:

public class singleton

public static singleton getinstance()

}

餓漢式:

public class singleton

public static singleton getinstance()

}

建立型模式之單例模式

功能 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。優點 缺點 模式應用 乙個具有自動編號主鍵的表可以有多個使用者同時使用,但資料庫中只能有乙個地方分配下乙個主鍵編號,否則會出現主鍵重複,因此該主鍵編號生成器必須具備唯一性,可以通過單例模式來實現。舉例 在os中,列印池 print spo...

建立型模式之單例模式

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

建立型模式 單例模式

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