PHP設計模式(單例模式)

一、單例模式是什麼?有什麼作用?

      單例模式就是讓類 只實例化(new)一次,使用單例模式, 則可以避免大量的new 操作消耗的資源。

二、實現單例模式

1)三私一公(原理)

      ①、私有靜態屬性,又來儲存生成的唯一對象

      ②、私有構造函數

      ③、私有克隆函數,防止克隆——clone

      ④、公共靜態方法,用來訪問靜態屬性儲存的對象,如果沒有對象,則生成此單例

2)關鍵詞instanceof,檢查此變量是否爲該類的對象、子類、或是實現接口。

class SingleInstance{
            
   private function _construct(){
       // 私有構造函數
   }
        
   private static $instance;  // 私有屬性,存儲類對象
       
   private function _clone(){ // 私有克隆函數,防止clone
           
   }
   public static function getInstance(){  // 公有獲取 實例化對象方法
       if(!self::$instance instanceof SingleInstance){
           self::$instance=new SingleInstance();
       }
       return self ::$instance;
   }
}

三、應用場景(請求次數較多的類)

1、數據庫類

2、網站計數器

3、應用程序的日誌應用

4、Web應用的配置對象的讀取

大家有什麼想法可在底下留言一起探討,如果覺得此篇文章對您有用,請幫忙點個贊,謝謝!^_^

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章