单例模式,也叫单子模式,是一种经常使用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。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
这个是一个旧的对象设计模式
“对象”?,程序员怎么可能有对象!~数据库设计