單例模式可能是設計模式中最簡單的模式,很多時候,我甚至覺得不應該叫設計模式,只是乙個編碼技巧
接下來我們看看什麼是單例模式
單例模式顧名思義,就是只有乙個例項。作為物件的建立模式, 單例模式確保某乙個類只有乙個例項
也就是說,不管程式多複雜,在乙個頁面new了多少次某個類,如果這個類初始化用單例模式,就只會被建立一次,其他的new會復用第一次的建立,不會多次初始化
這樣的好處是顯而易見的,如果初始化裡有資料庫連線操作,如果有大陣列迴圈,省下來的開銷是很可觀的
那麼,如何做到呢?下面用**例子來說明
class test
//單例方法
public static function getinstance()
return self::$_instance;
}//阻止使用者複製物件例項
private function __clone()
function godeye()
}從上面**可以看出,static $_instance用乙個靜態變數存初始化值,第二次呼叫getinstance初始化的時候,會先判斷$_instance有沒有值,有值的話就不再初始化
以此來實現單例模式
**:
設計模式之單例模式
前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會23種設計模式並且會熟練運用的人,真的就是大師級的牛人了,設計模式是乙個專案主管或者架構師一定要會的東西...
設計模式之單例模式
package com.xie.singleton public class singleton 提供乙個共有的靜態的入口方法 public static singleton getinstance 懶漢式 延遲載入 提供乙個私有的靜態的成員變數,但不做初始化 private static sing...
設計模式之 單例模式
單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。單例模式 單件模式 使用方法返回唯一的例項 public class singleton private static singleton instance public static singleton geti...