您好,登錄后才能下訂單哦!
單態(tài)設計模式通常包含以下三點:
· 一個私有的構造方法;(確保用戶無法通過創(chuàng)建對象對其進行實例化)
· 一個公有的 靜態(tài)的 方法;(負責對其本身進行實例化)
· 一個私有的 靜態(tài)的 屬性;(用于保存僅有的一個實例化對象)
單態(tài)設計模式要求的是僅有一個對象的實例,并且提供一個訪問點
單例模式(Singleton)用于為一個類生成一個唯一的對象。最常用的地方是數(shù)據(jù)庫連接
<?php
class singlemode
{
private static $instance=null;
private function __construct(){}
public static function getinstance($obj)
{
if(self::$instance===null)
{
self::$instance=new $obj();
return self::$instance;
}
}
public function __clone()
{
trigger_error('not allowed clone!',E_USER_ERROR);
}
public function usedisplay($method)
{
self::$instance->$method();
}
}
class test
{
public $id=null;
public function __construct()
{
}
public function display()
{
echo '單態(tài)設計模式測試!';
}
}
header('content-type:text/html;charset=utf-8');
$single=singlemode::getinstance('test');
$single->display();
$single->id=5;
echo '<br/>'.$single->id;
$single1=singlemode::getinstance('test');
echo '<br/>'.$single->id.'<br/>';
?>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。