成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? PHP中單例模式與工廠模式詳解
全站頭部文字 我要出現在這里
PHP中單例模式與工廠模式詳解 697 2024-01-10   

單例模式概念

單例模式是指整個應用中類只有一個對象實例的設計模式。

單例模式的特點

一個類在整個應用中只有一個實例

類必須自行創建這個實例

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

php中使用單例模式的原因

我用php大部分操作都是和各種數據庫打交道,包括mysql,redis,memcache等各種關系型和非關系型數據庫,所以一個應用中會 存在大量連接數據庫的操作,如果不用單例模式,那每次都要new操作,但是每次new都會消耗大量的內存資源和系統資源,而且每次打開和關閉數據庫連接都 是對數據庫的一種極大考驗和浪費。

需要一個保存類的唯一實例的靜態成員變量(通常$instance為私有變量)

構造函數和克隆函數必須聲明為私有的,為了防止外部程序new類從而失去單例模式意義

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

//設計模式
//單例模式 都是使用同一個對象
//class Ren
//{
// public $name;
// private static $dx; //存儲對象
//
// private function __construct()
// {
//
// }
//
// public static function DuiXiang()
// {
//  if(empty(self::$dx))
//  {
//   self:;$dx=new Ren();
//  }
//  return self::$dx;
// }
//}
//
//$r= Ren::DuiXiang();
//把構造函數變為私有
//做了一個方法來間接造對象
//在該方法里面加限制

工廠類

是指包含一個專門用來創建其他對象的方法的類,工廠類在多態性編程實踐中是至關重要的,它允許動態的替換類,修改配置,通常會使應用程序更加靈活,熟練掌握工廠模式高級PHP開發人員是很重要的。

工廠模式通常用來返回符合類似接口的不同的類,工廠的一種常見用法就是創建多態的提供者,從而允許我們基于應用程序邏輯或者配置設置來決定應實例化哪一個類,例如,可以使用這樣的提供者來擴展一個類,而不需要重構應用程序的其他部分,從而使用新的擴展后的名稱 。

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

class YunSuan
{
 public $a;
 public $b;
 function Suan()
 {
  echo "對兩個數進行運算";
 }
class gongchang
{ //功能 : 給一個參數,返回一個對象
 static function chanpin($name)
 {
  switch($name)
  {
   case "'+":
    return new jia();
    break;
   case "-";
    return new jian();
    break;
  }
 }
}
$a=gongchang::chanpin("+");

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持綠夏網!



主站蜘蛛池模板: 故乡之恋简谱| 巴黎宝贝| 听说 电影| 哥斯| 四川经济频道节目表| 视频污| 南方车站的聚会| 杨国| 进宝| 房东电影| 追捕电视剧免费观看完整版| 塔木德全文阅读免费| 龟兔赛跑的故事视频| 好茶叶排名前十名| 高清图库| charlie sheen| 张柏芝艳照无删减| 打男生军人光屁股的网站视频| 天国遥遥| 脸庞村庄| 游泳池play高h| 诱惑的艺术| 小兰花现代诗| 爱情面包房| 神经内科出科个人总结| 色戒在线收看| 斯维特拜克之歌| 浙江卫视今天全部节目表| 外出韩版| 卜算子咏梅拼音| 日本电视剧《阿信》| 罗中立的《父亲》详案| 苍兰| 新烈火情挑| 暗夜尖叫1988美国版高清观看| 中国天黑最晚的地方| 想要更多| fate动漫| 美女jj| av电影网| 小学道德与法治课程标准2023版|

?。。≌鹃L長期在線接!??!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103