PHP中單例模式與工廠模式詳解

2022-10-06 08:33:13 字數 1164 閱讀 9922

單例模式概念

單例模式是指整個應用中類只有乙個物件例項的設計模式。

單例模式的特點

乙個類在整個應用中只有乙個例項

類必須自行建立這個例項

必須自行向整個系統提供這個例項

php中使用單例模式的原因

我用php大部分操作都是和各種資料庫打交道,包括mysql,r程式設計客棧edis,memcache等各種關係型和非關係型資料庫,所以乙個應用中會 存在大量連線資料庫的操作,如果不用單例模式,那每次都要new操作,但是每次new都會消耗大量的記憶體資源和系統資源,而且每次開啟和關閉資料庫連線都 是對資料庫的一種極大考驗和浪費。

需要乙個儲存類的唯一例項的靜態成員變數(通常$instance為私有變數)

建構函式和轉殖函式必須宣告為私有的,為了防止外部程式new類從而失去單例模式意義

必須提供乙個訪問這個例項的公共靜態方法,從而返回唯一例項的乙個引用

//設計模式

//單例模式 都是使用同乙個物件

//class ren

////

// public static function duixiang()

// // return self::$dx;

// }

//}//

//$r= ren::duixiang();

//把建構函式變為私有

//做了乙個方法來間接造物件

//在該方法裡面加限制

工廠類是指包含乙個專門用來建立其他物件的方法的類,工廠類在多型性程式設計實踐中是至關重要的,它允許動態的替換類,修改配置,通常會使應用程式更加靈活,熟練掌握工廠模式高階php開發人員是很重要的。

工廠模式通常用來返回符合類似介面的不同的類,工廠的一種常見用法就是建立多型的提供者,從而允許我們基於應用程式邏輯或者配置設定來決定應例項化哪乙個類,例如,可以使用這樣的提供者來擴充套件乙個類,而不需要重構應用程式的其他部分,從而使用新的擴充套件後的名稱 。

通常,工廠模式有乙個關鍵的構造,根據一般原則命名為factory的靜態方法,然而這只是一種原則,工廠方法可以任意命名,這個靜態還可以接受任意資料的引數,必須返回乙個物件。

class yunsuan

class gongchang }}

$a=gongchang::chanpin("+");

本文標題: php中單例模式與工廠模式詳解

本文位址:

PHP單例模式,工廠模式

單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。三私一公 三私一公 class single 私有的轉殖 private function clone 公有的獲取例項的方法 public static function getinstance return self inst...

php單例模式和工廠模式

單例模式 1.概念 保證系統中,應用該模式的乙個類只有乙個例項。即乙個類只有乙個物件例項 節省例項化物件時間以及占用的空間 2.三私一公 私有的構造方法 私有的轉殖方法 私有的靜態屬性 公有的靜態方法 對外提供獲取例項的方法 3.適用場景 經常使用在一些連線場景 mysql,redis等連線 4.編...

PHP單例模式和工廠模式

單例模式又稱為職責模式,它用來在程式中建立乙個單一功能的訪問點,通俗地說就是例項化出來的物件是唯一的。所有的單例模式至少擁有以下三種公共元素 1.它們必須擁有乙個建構函式,並且必須被標記為private 2.它們擁有乙個儲存類的例項的靜態成員變數 3.它們擁有乙個訪問這個例項的公共的靜態方法 單例類...