1. 程式人生 > >設計模式之 單例模式(懶漢式和餓漢式)

設計模式之 單例模式(懶漢式和餓漢式)

設計模式:

一些人總結出來用來解決特定問題的固定的解決方案。

單例模式

解決一個類在記憶體中只存在一個物件,想要保證物件的唯一。

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;
	}
}