📢 この記事は gemini-2.5-flash によって翻訳されました
シングルトンパターン オブジェクト生成パターン
目的
あるクラスがただ一つのインスタンスしか持たないことを保証し、それにアクセスするためのグローバルなアクセスポイントを提供するんだ。
構造

この中でね:
- Singletonは
Instance操作を指定して、クライアントがその唯一のインスタンスにアクセスできるようにするよ。 Instanceはクラス操作なんだ。多分、それ自身の唯一のインスタンスを作成する責任があるんだろうね。
適用性
シングルトンパターンは、こんな時に使えるよ:
- クラスがただ一つのインスタンスしか持てなくて、しかもクライアントがよく知られたアクセスポイントからそれにアクセスできる時。
- この唯一のインスタンスがサブクラス化によって拡張可能であるべきで、しかもクライアントがコードを変更せずに拡張されたインスタンスを使える時。
例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| public class main{
// s1 と s2 は同じインスタンスだよ(アドレスが同じ)。
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
}
class Singleton{
private int num = 2023;
public void setNum(int num){
this.num = num;
}
public int getNum(){
return this.num;
}
private Singleton(){}
private static Singleton instance = new Singleton();
public static Singleton getInstance(){
return instance;
}
}
|