單例模式又稱為職責模式,它用來在程式中建立乙個單一功能的訪問點,通俗地說就是例項化出來的物件是唯一的。
所有的單例模式至少擁有以下三種公共元素:
1. 它們必須擁有乙個建構函式,並且必須被標記為private
2. 它們擁有乙個儲存類的例項的靜態成員變數
3. 它們擁有乙個訪問這個例項的公共的靜態方法
單例類不能再其它類中直接例項化,只能被其自身例項化。它不會建立例項副本,而是會向單例類內部儲存的例項返回乙個引用。
class single工廠模式就是一種類,具有為您建立物件的某些方法,這樣就可以使用工廠類建立物件,而不直接使用new。這樣如果想更改建立的物件型別,只需更改該工廠即可。public function getname()
$oa = single::getinstance();
$ob = single::getinstance();
$oa->setname('hello world');
$ob->setname('good morning');
echo $oa->getname();//good morning
echo $ob->getname();//good morning
class factoryclass c implements fetchname
class b implements fetchname
class d implements fetchname
$o = factory::fac(6);//呼叫工廠類中的方法
if($o instanceof fetchname){
echo $o->getname();//ddddd
$p=factory::fac(3);
echo $p->getname();//ccccc
php單例模式和工廠模式
單例模式 1.概念 保證系統中,應用該模式的乙個類只有乙個例項。即乙個類只有乙個物件例項 節省例項化物件時間以及占用的空間 2.三私一公 私有的構造方法 私有的轉殖方法 私有的靜態屬性 公有的靜態方法 對外提供獲取例項的方法 3.適用場景 經常使用在一些連線場景 mysql,redis等連線 4.編...
php 單例模式和工廠模式
header content type text html charset utf 8 定義字元編碼,防止亂碼 單例類 class single private function clone 定義乙個空方法防止被外部轉殖 public static function getinstance 定義乙個...
PHP單例模式,工廠模式
單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。三私一公 三私一公 class single 私有的轉殖 private function clone 公有的獲取例項的方法 public static function getinstance return self inst...