單態模式
概述
保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。
適用性
1.當類只能有一個實例而且客戶可以從一個衆所周知的訪問點訪問它時。
2.當這個唯一實例應該是通過子類化可擴展的,並且客戶應該無需更改代碼就能使用一個擴展的實例時。
參與者
Singleton
定義一個Instance操作,允許客戶訪問它的唯一實例。Instance是一個類操作。
可能負責創建它自己的唯一實例。
類圖
例子
Singleton
public class Singleton {
private static Singleton sing;
private Singleton() {
}
public static Singleton getInstance() {
if (sing == null) {
sing = new Singleton();
}
return sing;
}
}
Test
public class Test {
public static void main(String[] args) {
Singleton sing = Singleton.getInstance();
Singleton sing2 = Singleton.getInstance();
System.out.println(sing);
System.out.println(sing2);
}
}
result
singleton.Singleton@1c78e57
singleton.Singleton@1c78e57
Copyright © 2008 Angus Young
瘋狂Java聯盟:http://www.crazyit.org