設計模式系列目錄
今天來簡單來說一下單例模式:它要確保乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。
比如我們登入乙個系統的時候要記錄乙個員工的資訊,在整個系統執行過程中可能要不段的訪問這個員工的資訊,
一般情況下我們會有兩種做法,第一種建乙個靜態類,第二種就是今天我要說的鍵乙個單例類
今天只說單例類,建單例類要有幾個要求
1.私有的構造方法
2.指向自己例項的私有靜態引用
3.以自己為例項為返回值的靜態方法
單例模式例項化物件有兩種方式
1.懶漢模式:呼叫取得例項方法的時候才去例項化物件
public class singleclassdemo2.餓漢模式:單例類被載入時候例項化物件private static singleclassdemo initsingle()
}
public class singleclassdemo做乙個小例子:儲存員工的名字和idprivate static singleclassdemo initsingle()
}
public class programc++**}public class singleclass
public static singleclass getsingleclass()
private static string id;
public static string id
}private static string name;
public static string name}}
#pragma once#includeview codeclass
singleclassdemo
;#include
"stdafx.h
"#include
"singleclassdemo.h
"#include
singleclassdemo * singleclassdemo::singleclass =nullptr;
singleclassdemo *singleclassdemo::initsingleclass()
return
singleclass;
}std::
string
singleclassdemo::getname()
return
m_name;
}singleclassdemo::singleclassdemo()
//main
singleclassdemo * s =singleclassdemo::initsingleclass();
std::cout
<< s->getname();
std::cin.
get();
設計模式 單例模式
單例模式 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的序列生成等.但單例的使用需要謹慎,特別是在需要作負載均衡的地方,因為這種程式級的單例模式實際上只能保證在乙個應用中為單例.如果被多個應用載入,還是會...