單件模式是我們在開發中經常用到的一種設計模式,利用php5物件導向的特性,我們可以很容易的構建單件模式的應用,下面是單件模式在php中的幾種實現方法:
class
stat
return
self
::$instance;}
private
function
__construct()
private
function
__clone()
function
sayhi()
}echo
stat
::getinstance()
->
sayhi();
這是一種最通常的方式,在乙個getinstance方法中返回唯一的類例項。
對這裡例子稍加修改,便可以產生乙個通用的方法,只要叫道任何你想用到單件的類裡,就可以了。
class
teacher
static
function
getinstance()
return
$instance;}
}echo
teacher
::getinstance()
->
sayhi();
最後一種是提供乙個singleton類,然後通過呼叫getinstance方法,可以為任何乙個類生產出乙個例項來。
class
singleton
$instance
=$instances
[$class
];return
$instance;}
}class
people
}echo""
;echo
singleton
::getinstance(
'people')
->
sayhi();
通過這三種方法,我們可以很容易的應用單件模式,如果能夠結合工廠模式,將使我們的程式設計變得更有條理和效率。
設計模式 PHP實現單件模式的幾種
單件模式是我們在開發中經常用到的一種設計模式,利用php5物件導向的特性,我們可以很容易的構建單件模式的應用,下面是單件模式在php中的幾種實現方法 class stat return self instance private function construct private function...
設計模式 單件模式
1 1 singleton.h ifndef singleton h define singleton h include using namespace std class singleton 構構函式,防止拷貝構造另乙個例項,作為protected singleton 析構函式,作為protec...
設計模式 單件模式
2015年1月29日16 02 59 單件模式是用來保證共有資源唯一性的設計模式,舉個例子吧,假如我們是藝人,我們在同乙個經紀人的協助下開展工作,我們可以委託這個經紀人做一些事情,但是我們不能委託經紀人在幫你做報表的同時幫我訂外賣。用程式猿的語言來表達就是,我們可能在多處地方持有對同一資源的引用。由...