設計模式之 單例模式(懶漢式和餓漢式)
阿新 • • 發佈:2018-11-14
設計模式:
一些人總結出來用來解決特定問題的固定的解決方案。
單例模式
解決一個類在記憶體中只存在一個物件,想要保證物件的唯一。
1 為了避免其他程式過多的建立該類物件。禁止其他程式建立該類物件。
2 為了其他程式可以訪問該類物件,在本類中自定義一個物件。
3 方便其他程式對自定義類的物件的訪問,對外提供一些訪問方式。
程式碼:
1將建構函式私有化
2在類中建立一個私有的本類物件
3提供一個用類名呼叫的公有方法獲取該物件。
惡漢式:
class Single { private static Single s = new Single(); // 惡漢式 private Single() { } public static Single getInstance() { return s; } }
懶漢式:
class Single2 {
private static Single2 s = null; // 懶漢
private Single2() {
}
public static Single2 getInstance() {
if (s == null) {
s = new Single2();
}
return s;
}
}