乙個類在記憶體中只能存在乙個物件
注意:為了避免其他程式過多的建立該物件,先控制禁止其他程式建立該類的物件,然後該類中自定義好乙個私有物件,最後對外提供訪問該私有物件的方法。
**實現分三步:(1)構造器私有化。(2)類中建立本類的私有物件。(3)對外提供可以獲取到該物件的方法。
接下來再說,單例模式的分類:餓漢模式(建議使用)、飽漢模式(執行緒不安全)
/**
* 餓漢模式
* 建立類時就建立好物件
*/class singledemo1
private static singledemo1 s1 = new singledemo1();
public static singledemo1 getinstance()
public int geta()
public void seta(int a)
}/**
* 懶漢模式
* 物件被呼叫時才建立物件
* 因為多執行緒技術,可能會造成懶漢模式不安全
*/class singledemo2
private static singledemo2 s2 = null;
public static singledemo2 getinstance()
return s2;
}}
測試結果:
public class test
}
設計模式 單例模式
單例模式 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的序列生成等.但單例的使用需要謹慎,特別是在需要作負載均衡的地方,因為這種程式級的單例模式實際上只能保證在乙個應用中為單例.如果被多個應用載入,還是會...