PHP開發模式之-單例模式

class  Db{
private function __construct(){}
private static $instance;
public static function getInstance(){
if(!self::$instance instanceof Db){
self::$instance = new self();
}
return self::$instance;
}
private function __clone(){}
}
$db1= Db::getInstance();
$db2= Db::getInstance();
$db3= Db::getInstance();
var_dump($db1);
var_dump($db2);
var_dump($db3);

單例模式又稱爲職責模式,它用來在程序中創建一個單一功能的訪問點,通俗地說就是實例化出來的對象是唯一的。
所有的單例模式至少擁有以下三種公共元素:
1. 它們必須擁有一個構造函數,並且必須被標記爲private
2. 它們擁有一個保存類的實例的靜態成員變量
3. 它們擁有一個訪問這個實例的公共的靜態方法
單例類不能再其它類中直接實例化,只能被其自身實例化。它不會創建實例副本,而是會向單例類內部存儲的實例返回一個引用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章