中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

PHP中單例模式與工廠模式的示例分析-創(chuàng)新互聯(lián)

這篇文章主要介紹PHP中單例模式與工廠模式的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)是一家專業(yè)從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司。作為專業(yè)的建站公司,成都創(chuàng)新互聯(lián)依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、成都全網(wǎng)營銷推廣及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!

單例模式概念

單例模式是指整個(gè)應(yīng)用中類只有一個(gè)對象實(shí)例的設(shè)計(jì)模式。

單例模式的特點(diǎn)

一個(gè)類在整個(gè)應(yīng)用中只有一個(gè)實(shí)例

類必須自行創(chuàng)建這個(gè)實(shí)例

必須自行向整個(gè)系統(tǒng)提供這個(gè)實(shí)例

php中使用單例模式的原因

我用php大部分操作都是和各種數(shù)據(jù)庫打交道,包括mysql,redis,memcache等各種關(guān)系型和非關(guān)系型數(shù)據(jù)庫,所以一個(gè)應(yīng)用中會(huì) 存在大量連接數(shù)據(jù)庫的操作,如果不用單例模式,那每次都要new操作,但是每次new都會(huì)消耗大量的內(nèi)存資源和系統(tǒng)資源,而且每次打開和關(guān)閉數(shù)據(jù)庫連接都 是對數(shù)據(jù)庫的一種極大考驗(yàn)和浪費(fèi)。

需要一個(gè)保存類的實(shí)例的靜態(tài)成員變量(通常$instance為私有變量)

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

必須提供一個(gè)訪問這個(gè)實(shí)例的公共靜態(tài)方法,從而返回實(shí)例的一個(gè)引用

//設(shè)計(jì)模式
//單例模式 都是使用同一個(gè)對象
//class Ren
//{
// public $name;
// private static $dx; //存儲(chǔ)對象
//
// private function __construct()
// {
//
// }
//
// public static function DuiXiang()
// {
//  if(empty(self::$dx))
//  {
//   self:;$dx=new Ren();
//  }
//  return self::$dx;
// }
//}
//
//$r= Ren::DuiXiang();
//把構(gòu)造函數(shù)變?yōu)樗接?//做了一個(gè)方法來間接造對象
//在該方法里面加限制

工廠類

是指包含一個(gè)專門用來創(chuàng)建其他對象的方法的類,工廠類在多態(tài)性編程實(shí)踐中是至關(guān)重要的,它允許動(dòng)態(tài)的替換類,修改配置,通常會(huì)使應(yīng)用程序更加靈活,熟練掌握工廠模式高級PHP開發(fā)人員是很重要的。

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

通常,工廠模式有一個(gè)關(guān)鍵的構(gòu)造,根據(jù)一般原則命名為Factory的靜態(tài)方法,然而這只是一種原則,工廠方法可以任意命名,這個(gè)靜態(tài)還可以接受任意數(shù)據(jù)的參數(shù),必須返回一個(gè)對象。

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

以上是“PHP中單例模式與工廠模式的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站題目:PHP中單例模式與工廠模式的示例分析-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://www.rwnh.cn/article18/igedp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、ChatGPT面包屑導(dǎo)航、動(dòng)態(tài)網(wǎng)站、微信小程序、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
新乡市| 萝北县| 昌都县| 安塞县| 宝应县| 衡阳县| 六安市| 柳江县| 长阳| 保山市| 易门县| 麻栗坡县| 文昌市| 郑州市| 德化县| 客服| 囊谦县| 兴国县| 普安县| 眉山市| 留坝县| 新乡县| 自贡市| 读书| 汤原县| 柳江县| 崇文区| 晴隆县| 湟源县| 广州市| 大洼县| 延川县| 宁河县| 拜城县| 上杭县| 嵩明县| 岱山县| 如东县| 楚雄市| 军事| 渭源县|