單例模式 單例模式的含義: 作為對象的創建模式,單例模式確保某一個類只有一個實例,而且自行實例化並向整個系統全局地提供這個實例。它不會創建實例副本,而是會向單例類內部存儲的實例返回一個引用。 單例模式的三個要素: 1. 保存類唯一實例的靜態變數。 2. 構造函數和克隆函數必須是私有的,放在外部去實例 ...
單例模式
單例模式的含義:
作為對象的創建模式,單例模式確保某一個類只有一個實例,而且自行實例化並向整個系統全局地提供這個實例。它不會創建實例副本,而是會向單例類內部存儲的實例返回一個引用。
單例模式的三個要素:
1. 保存類唯一實例的靜態變數。
2. 構造函數和克隆函數必須是私有的,放在外部去實例化,這樣就不存在單例模式的意義。
3. 提供一個可供外部訪問的公共靜態方法,這個方法返回該類的唯一實例。
單例模式的意義:
在 PHP 中的應用主要在於資料庫應用, 所以一個應用中會存在大量的資料庫操作, 在使用面向對象的方式開發時, 如果使用單例模式, 則可以避免大量的 new 操作消耗的資源。而不完全是對系統資源的節省, 可以避免重覆實例化,因為 PHP 每次實例化一個類之後都會清理掉對應的資源,當再次使用的時候又會在重新去實例化一次。
單例模式使用的場景:
1. 資料庫操作,減少對數據路的 new 操作,從而減少記憶體資源和系統資源的消耗。
2. 配置資源的共用,在一個系統中,配置資源都是全局的,使用單例模式也可以減少每次去讀取配置帶來的記憶體和系統資源的消耗。
代碼演示: