設計模式 單例模式

2021-08-16 16:26:43 字數 751 閱讀 7412

乙個類在記憶體中只能存在乙個物件

注意:為了避免其他程式過多的建立該物件,先控制禁止其他程式建立該類的物件,然後該類中自定義好乙個私有物件,最後對外提供訪問該私有物件的方法。

**實現分三步:(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的序列生成等.但單例的使用需要謹慎,特別是在需要作負載均衡的地方,因為這種程式級的單例模式實際上只能保證在乙個應用中為單例.如果被多個應用載入,還是會...