單例模式(singleton pattern 單件模式或單元素模式)
單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。
單例模式是一種常見的設計模式,在計算機系統中,執行緒池、快取、日誌物件、對話方塊、印表機、資料庫操作、顯示卡的驅動程式常被設計成單例。
單例模式分3種:懶漢式單例、餓漢式單例、登記式單例。
單例模式有以下3個特點:
1.只能有乙個例項。
2.必須自行建立這個例項。
3.必須給其他物件提供這一例項。
<?php
class
user
//私有轉殖函式,防止外辦轉殖物件
private
function
__clone
() //靜態方法,單例統一訪問入口
static
public
function
getinstance
() return
self::$_instance;
}public
function
getname
() }
?>
優點:
改進系統的設計
是對全域性變數的一種改進
缺點:難於除錯
隱藏的依賴關係
無法用錯誤型別的資料覆寫乙個單例
PHP單例模式
模式對於oop開發人員尤其有用,因為他有助於建立穩定的api,並且仍然保持一定的靈活度。一種模式可以幫助我們定義負責完成特定任務的物件,還可以允許我們全部修改掉某個類而不用修改與這些類打交道的 前者被稱為類的職責,後者被稱為類的多型性。單例模式被當作職責模式,他用來在應用程式中建立乙個單一的功能訪問...
php單例模式
單例模式 單例類 1 建構函式需要標記為private 訪問控制 防止外部 使用new操作符建立物件 單例類不能在其他類中例項化,只能被其自身例項化 2 擁有乙個儲存類的例項的靜態成員變數 3 擁有乙個訪問這個例項的公共的靜態方法 常用getinstance 方法進行例項化單例類,通過instanc...
php 單例模式
單例模式 身份證號碼 單例類identitycardno 身份證號碼類 class identitycardno public function getinstance else return self instance private function setidentitycardno no p...