單例模式思維導圖
設計模式-單例模式
1、定義
保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。
(其關鍵是將類的構造方法設定為 private 許可權,保證任何其他類無法使用單件類來建立物件;並提供乙個返回它唯一例項的類方法(static 方法)。)
2、分類&別名
分類:建立型模式
別名:單件模式
3、優點
優點:單件類的唯一例項由單件類本身控制,可以很好的控制其他類使用者何時訪問它;
縮小命名空間,避免命名汙染;
允許單例有子類;
允許可變數目的例項。
4、適用場景
當系統需要某個類只能有乙個例項。
5、uml類圖
6、餓漢式&懶漢式
餓漢式:在程式啟動或單件類被載入時,單件模式例項就已經被建立。
懶漢式:當程式第一次訪問單件模式例項才能進行建立。
7、**實現
// 餓漢式:在程式啟動或單件類被載入時,單件模式例項就已經被建立。
public
class
singleton
public
static singleton getinstance()
}// 懶漢式:當程式第一次訪問單件模式例項才能進行建立。
public
class
singleton
// 加synchronized 執行緒安全,在多執行緒下不能正常工作
// 不加synchronized 執行緒不安全,效率低,一般不需要同步
public
static
synchronized singleton getinstance()
}// 得到單件類的唯一例項:
singleton s = singleton.
getinstance
()
設計模式 單例模式
單例模式 singleton pattern 是乙個比較簡單的模式,其定義如下 ensure a class has only one instance,and provide a golbal point of acess to it.確保某乙個類只有乙個例項,而且自行例項化並且向整個系統提供這個...
設計模式 單例模式
class testsingleton static public function instance return self testsingleton private function clone public function setsinvar sinvar public function ...
設計模式 單例模式
單例模式的目的是保證類在系統中只被例項化一次,由該唯一的例項來為系統提供服務.單例模式主要用於保證服務的統一,比如獲取統一的編號服務,模仿oracle的序列生成等.但單例的使用需要謹慎,特別是在需要作負載均衡的地方,因為這種程式級的單例模式實際上只能保證在乙個應用中為單例.如果被多個應用載入,還是會...