成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

編程中的那些套路——關(guān)于單例模式

sshe / 1409人閱讀

該文章屬于《編程中的那些經(jīng)典套路——設(shè)計(jì)模式匯總》系列,并且以下內(nèi)容基于語(yǔ)言PHP

在設(shè)計(jì)模式中,單例模式工廠模式)可以說(shuō)是使用的最普遍的設(shè)計(jì)模式了,所以掌握此種模式尤為重要。

單例模式一般使用在資源共享和需要控制資源的情況下。

例如:購(gòu)物車,回收站,數(shù)據(jù)庫(kù)連接池,計(jì)數(shù)器,配置文件共享等所有項(xiàng)目中只需要存在一個(gè)的模塊,你都可以采用單例模式。

單例模式的好處就在于當(dāng)前進(jìn)程只產(chǎn)生一個(gè)對(duì)象(或者叫做模塊),
但有一點(diǎn)需要指出,如果單例模式的操作對(duì)象是一個(gè)資源類型,那么此時(shí)的單例模式并不是純粹的單例模式,因?yàn)閜hp的生命周期僅僅是頁(yè)面級(jí)別的,所以他無(wú)法像Java語(yǔ)言那樣在內(nèi)存中將這個(gè)資源類型存起來(lái),并且我們也無(wú)法借助類似redis的nosql緩存數(shù)據(jù)庫(kù),因?yàn)橘Y源類型(類似mysql_connect的返回值)是無(wú)法被序列化(指的是資源無(wú)法轉(zhuǎn)成字符串)。

即,php的單例,僅指進(jìn)程中單例,不似java,在整個(gè)內(nèi)存中單例,所以在PHP語(yǔ)言下,單例模式是有瑕疵的。

上代碼:

單例模式.php

 select_db("test"));
     
    print_r($db->select_db("test"));
     
    print_r($db->select_db("test"));
     
    //output:只有一次實(shí)例化111
     
    ?>
     

通過(guò)輸出(output)可以看出頁(yè)面執(zhí)行中,數(shù)據(jù)庫(kù)類(class Database)只有第一次調(diào)用的時(shí)候是真實(shí)實(shí)例化的,剩下的調(diào)用都是直接從靜態(tài)變量獲取該實(shí)例的,這樣的話就防止了在一次生命周期中多次連接數(shù)據(jù)庫(kù)了,極大的節(jié)省了資源,這就是單例模式。

該文章屬于《編程中的那些經(jīng)典套路——設(shè)計(jì)模式匯總》系列

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/21673.html

相關(guān)文章

  • 編程中的那些套路——關(guān)于觀察者模式

    摘要:我們應(yīng)該寫(xiě)一段拓展性強(qiáng)與維護(hù)性較強(qiáng)的代碼,由此衍生出觀察者模式。 該文章屬于《編程中的那些經(jīng)典套路——設(shè)計(jì)模式匯總》系列,并且以下內(nèi)容基于語(yǔ)言PHP 今天我們來(lái)談?wù)動(dòng)^察者模式,這是一個(gè)經(jīng)常用到的設(shè)計(jì)模式。 讓我們想象一個(gè)場(chǎng)景:一個(gè)網(wǎng)站有不同等級(jí)區(qū)域的用戶,不同等級(jí)的的用戶登錄后可以獲得對(duì)應(yīng)的服務(wù)(一級(jí)用戶登錄后獲得一級(jí)服務(wù),二級(jí)用戶登錄后獲得二級(jí)服務(wù),…以此類推)。那么我們?nèi)绾螌?xiě)這段業(yè)...

    Fourierr 評(píng)論0 收藏0
  • 編程中的那些經(jīng)典套路——設(shè)計(jì)模式匯總

    摘要:如果看不懂的話,可以在評(píng)論區(qū)中提問(wèn),我會(huì)第一時(shí)間回答你無(wú)論何時(shí)我一直都在嗯哼該文章屬于編程中的那些經(jīng)典套路設(shè)計(jì)模式匯總系列 在正式閱讀前,我先談?wù)勎覀冊(cè)撚檬裁醋藙?shì)和心態(tài)學(xué)習(xí)設(shè)計(jì)模式: 如果你還沒(méi)有過(guò)多的編程經(jīng)驗(yàn)(泛指半年以下),我建議你把它當(dāng)做小說(shuō)來(lái)看,能看懂多少是多少,因?yàn)榘肽暌韵陆?jīng)驗(yàn)的程序員用到設(shè)計(jì)模式的情況只會(huì)出現(xiàn)在面試上,至于實(shí)際工作中?相對(duì)來(lái)說(shuō)這部分不會(huì)由你負(fù)責(zé)。 如果你已...

    youkede 評(píng)論0 收藏0
  • 編程中的那些套路——關(guān)于工廠模式

    摘要:該文章屬于編程中的那些經(jīng)典套路設(shè)計(jì)模式匯總系列,并且以下內(nèi)容基于語(yǔ)言前面我們寫(xiě)了簡(jiǎn)單工廠模式,編程中的那些套路關(guān)于簡(jiǎn)單工廠模式,但簡(jiǎn)單工廠模式有一些不足違反開(kāi)放封閉原則,所以需要設(shè)計(jì)出一套更加規(guī)范的設(shè)計(jì)模式。 該文章屬于《編程中的那些經(jīng)典套路——設(shè)計(jì)模式匯總》系列,并且以下內(nèi)容基于語(yǔ)言PHP 前面我們寫(xiě)了簡(jiǎn)單工廠模式,《編程中的那些套路——關(guān)于簡(jiǎn)單工廠模式》,但簡(jiǎn)單工廠模式有一些不足(...

    light 評(píng)論0 收藏0
  • 編程中的那些套路——關(guān)于簡(jiǎn)單工廠模式

    摘要:簡(jiǎn)單工廠模式就是遵循了這一原則,它讓不同職責(zé)的類各司其職。重點(diǎn)來(lái)了,簡(jiǎn)單工廠模式的不足但是簡(jiǎn)單工廠模式有一個(gè)不足,雖然它遵循了單一職責(zé)原則,但它違反了另一條同樣很重要的原則開(kāi)放封閉原則。 該文章屬于《編程中的那些經(jīng)典套路——設(shè)計(jì)模式匯總》系列,并且以下內(nèi)容基于語(yǔ)言PHP 面向?qū)ο笪宕笤瓌t中有一點(diǎn)非常重要的原則:?jiǎn)我宦氊?zé)原則。 簡(jiǎn)單工廠模式就是遵循了這一原則,它讓不同職責(zé)的類各司其職。 ...

    Rocture 評(píng)論0 收藏0
  • 編程中的那些套路——關(guān)于責(zé)任鏈模式

    該文章屬于《編程中的那些經(jīng)典套路——設(shè)計(jì)模式匯總》系列,并且以下內(nèi)容基于語(yǔ)言PHP 今天來(lái)談?wù)勜?zé)任鏈模式,乍一聽(tīng)責(zé)任鏈模式好像很高級(jí)的一樣,但是相信我,其實(shí)每位天朝的同學(xué)都十分熟悉這個(gè)模式,責(zé)任鏈模式,就好像中國(guó)的官場(chǎng)制度一樣,每一個(gè)級(jí)別的權(quán)利都區(qū)分的很細(xì),舉個(gè)生活中的栗子: 村委不能越級(jí)去替鎮(zhèn)委辦事情,如果村委無(wú)法解決,只能向上求助鎮(zhèn)委 鎮(zhèn)委不能越級(jí)去替市委辦事情,如果鎮(zhèn)委無(wú)法解決,只能向上求...

    lylwyy2016 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<