單例模式,也叫單子模式,是一種經常使用的軟件設計模式。在應用這個模式時,單例對象的類必須保證只有一個實例存在。php
數據庫設計,咱們發送一次請求,可能會須要訪問不一樣的表,那麼若是每次訪問都 new 一個實例,那必然會形成資源的浪費,因此使用單例模式,能夠很好的節省資源。程序員
class DataBase { /** * 靜態成品變量,保存全局實例 */ private static $_instance = null; /** * 測試變量,存儲日誌信息 */ private static $_msg = null; /** * 私有構造方法,防止外界實例化對象 */ private function __construct() { $connect = "鏈接數據庫操做"; } /** * 私有化克隆方法,防止外鍵克隆對象 */ private function __clone() { } /** * 靜態方法,外界獲取實例的惟一接口 * @return Object 返回對象惟一實例 */ public static function getInstance() { if (!self::$_instance){ self::$_instance = new DataBase(); self::$_msg = "這是一個新對象" . "<br>"; }else{ self::$_msg = "這個是一箇舊的對象" . "<br>"; } return self::$_instance; } public function log() { echo self::$_msg; } }
$dbA = DataBase::getInstance(); $dbA->log(); $dbB = DataBase::getInstance(); $dbB->log(); $dbC = DataBase::getInstance(); $dbC->log();
這是一個新對象數據庫
這個是一箇舊的對象segmentfault
這個是一箇舊的對象設計模式
「對象」?,程序員怎麼可能有對象!~數據庫設計