首先我們先了解一下設計模式是什麼呢?
設計模式(design pattern):是一套被反覆使用、多數人知曉的、經過分類編目的、**設計經驗的總結。
使用設計模式的目的:使用設計模式是為了可重用**、讓**更容易被他人理解、保證**可靠性。
首先我們先來認識一下最簡單的單例模式!單例模式是什麼呢?
單例模式:我們可以把它看做乙個皇帝,我們古代的皇帝有且乙個,因為一山容不下二虎,如果有第二個就會導致很多問題。比如說我們當代的老婆一樣,老婆只需要乙個就可以了,如果多了乙個就會出現複雜的問題。
有些物件我們只需要乙個,比如:
配置檔案、工具類、執行緒池、快取、日誌物件等。
如果創造出多個例項,就會導致許多問題,比如占用過多資源,不一致的結果等。
常用的單例模式有兩種:
餓漢模式
懶漢模式
餓漢模式的特點是載入類時比較慢,但執行時獲取物件的速度比較快
class singleton()懶漢模式的特點是載入類時比較快,但執行時獲取物件的速度比較慢//2.建立類的唯一例項,使用private static修飾符
private static singleton instance = new singleton();
//3.提供乙個用於獲取例項的方法 使用public static修飾符才可以在其他地方呼叫
public static singleton getinstance() }
呼叫方法
var s1 = singleton.getinstance();
var s2 = singleton.getinstance();
console.log(s1==s2); 輸出為true,是同乙個例項
如果用new singleton();這是就會報錯,因為只能有乙個例項。
class singleton2//2.宣告類的唯一例項,使用private static修飾
private static singleton2 instance;
//3…提供乙個用於獲取例項的方法 使用public static修飾符
public static singleton2 getinstance()
return instance;
}呼叫懶漢模式
var s3= singleton.getinstance();
var s4 = singleton.getinstance();
console.log(s3==s4); 輸出為true,是同乙個例項
設計模式 單例模式
單例模式 singleton pattern 是乙個比較簡單的模式,其定義如下 ensure a class has only one instance,and provide a golbal point of acess to it.確保某乙個類只有乙個例項,而且自行例項化並且向整個系統提供這個...
設計模式 單例模式
class testsingleton static public function instance return self testsingleton private function clone public function setsinvar sinvar public function ...
設計模式 單例模式
單例模式的目的是保證類在系統中只被例項化一次,由該唯一的例項來為系統提供服務.單例模式主要用於保證服務的統一,比如獲取統一的編號服務,模仿oracle的序列生成等.但單例的使用需要謹慎,特別是在需要作負載均衡的地方,因為這種程式級的單例模式實際上只能保證在乙個應用中為單例.如果被多個應用載入,還是會...