做爲對象的建立模式,單例模式確保某一個類只有一個實例,並且自行實例化並向整個系統全局地提供這個實例。它不會建立實例副本,而是會向單例類內部存儲的實例返回一個引用。數據庫
1.須要一個保存類的惟一實例的靜態成員變量函數
private static $_instance;
2.構造函數和克隆函數必須聲明爲私有,防止外部程序new類而失去單列模式的意義code
private function __construct(){} private function __clone(){}
3.必須提供一個訪問這個類的實例的公共的靜態方法,從而返回惟一的實例對象
public static function getInstance(){ if(!self::$_instance instanceof self){ self::$_instance = new self(); } return self::$_instance; }
1.數據庫中會存在大量的數據庫操做,使用單例模式能夠減小new操做消耗的資源
2.控制配置信息,經過一個類來全局控制配置信息資源