热99re久久精品|天天综合网久久综合免费人成|91久久久久久久精品青草| 亚洲AV无码无一区二区Ⅰ久久|

  • <tt id="4ayss"><strong id="4ayss"></strong></tt>
  • <xmp id="4ayss"><menu id="4ayss"></menu><nav id="4ayss"><strong id="4ayss"></strong></nav>
    <nav id="4ayss"><strong id="4ayss"></strong></nav>
  • <nav id="4ayss"></nav>

    卓象程序員 | 哈爾濱IT培訓 | 品質教育,口碑傳承 | 為做出口口相傳,好口碑的教育品牌而奮斗!

    卓象程序員讓每一位學員高薪就業 聯系我們13101507057

    加微信,了解詳情
    您所在的位置:首頁 > 文章 >卓象技術

    「卓象程序員」PHP設計模式--單例模式
    時間: 2019-11-26 17:19:12     來源: 卓象IT實訓基地【原創】


    單例模式

    定義:簡單的說,整個應用一次訪問流程中只有一個實例對象的設計模式。


    我對單例模式的理解就是可以減少new的操作,因為new操作的時候會消耗內存,如果進行大量的new操作,就會消耗大量的內存。


    例如:


    class abc {
    }
    $a = new abc;
    $b = new abc;
    $c = new abc;
    $d = new abc;
    echo "內存初始: ".memory_get_usage()."Bn";
    echo '<pre>';
    var_dump($a);
    echo '</pre>';
    echo "內存使用: ".memory_get_usage()."Bn";
    echo '<pre>';
    var_dump($b);
    echo '</pre>';
    echo "內存使用: ".memory_get_usage()."Bn";
    echo '<pre>';
    var_dump($c);
    echo '</pre>';
    echo "內存使用: ".memory_get_usage()."Bn";
    echo '<pre>';
    var_dump($d);
    echo '</pre>';
    echo "內存使用: ".memory_get_usage()."Bn";
    echo "峰值: ".memory_get_peak_usage()."Bn"


    輸出結果:


    這里每一次new 操作就會增加內存的占用。而使用單例模式則不會造成這種情況。


    單例模式的要點


    1.某個類只能有一個實例。


    2.必須自行創建這個實例。


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


    下面是創建一個單例類的示例:


    /**
    * @purpose: 創建一個單例類
    * Class Single
    */
    class Single {
       /**
        * @var Object 保存類實例的靜態成員變量
        */
       private static $_instance;
       /**
        * Single constructor. 私有的構造方法
        */
       private function __construct(){
           echo 'This is a Constructed method;';
       }
       /**
        * @purpose: 創建私有__clone方法防止對象被復制克隆
        */
       private function __clone(){
       }
       /**
        * @return Single|Object 單例方法,用于訪問實例的公共的靜態方法
        */
       public static function getInstance(){
           if(!(self::$_instance instanceof self)){
               self::$_instance = new self;
           }
           return self::$_instance;
       }
    }


    現在我們進行實例化輸出:



    這里可以看出就算多次實例化內存也沒有進行增長;


    單例模式的用處


    1.單例模式可以應用在數據庫的操作類上


    2.單例模式可應用在網站的計數器上


    3.應用程序的日志應用,一般都使用單例模式實現,這一般是由于共享的日志文件一直處于打開狀態,因為只能有一個實例去操作,否則內容不好追加。


    4.Web應用的配置對象的讀取,一般也應用單例模式,這個是由于配置文件是共享的資源。


    每日分享技術干貨~

    報名卓象免費訓練營課程

    學習最新熱門IT技術

    找一份自己滿意的高薪工作

    15天免費學習??!

    卓象程序員

    ★ 零基礎,隨時體驗

    ★ 免費試聽,滿意后再報名

    ★ 小班授課,學習氛圍濃厚

    ★ 口碑相傳,80%學員來自口碑推薦

    ★ 教學嚴管,闖關式學習保障學習效果

    ★ 公司地點,哈爾濱市東直路123號7樓




    国产精品无码第三区|91精品久久久久久久久无码| 国产免费久久精品99re不卡|国产精品美女久久久久小说| 543ev首页国产婷婷|日韩欧美精品一中文字幕|国产在线精品无码二区二区|九九精品热国产九九精品| 国产成人永久免费视| 囯产精品无码一区二区三区不卡|永久免费看a片无码网站宅男| 亚洲午夜精品a片一区二区无码l| 久久99精品网久久| 国产一卡2卡3卡四卡国色天香|亚洲成av人片在线观看无码| 无码人妻久久一区二区三中文字幕| 一本到高清无码中文| av无码精品久久久久精品免费| 欧美日韩A片一区二区久久精品|久久精品亚洲中文字幕无码| 中文毛片无遮挡高清免费|国产国产人免费视频成|国产在线98福利播放视频|美女视频黄全部免费视频| 免费国产小视频国产| 亚洲一区二区无码中文字幕麻豆|999国产精品永久免费视频|久久激情亚洲精品无码aV| 国产女人久久精品视| 国产高潮久久一区二区三区四|国产无码精品一区二区三区|2020最新国产永久在线|
  • <tt id="4ayss"><strong id="4ayss"></strong></tt>
  • <xmp id="4ayss"><menu id="4ayss"></menu><nav id="4ayss"><strong id="4ayss"></strong></nav>
    <nav id="4ayss"><strong id="4ayss"></strong></nav>
  • <nav id="4ayss"></nav>