シングルトンパターン

📢 この記事は gemini-2.5-flash によって翻訳されました

シングルトンパターン オブジェクト生成パターン

目的

あるクラスがただ一つのインスタンスしか持たないことを保証し、それにアクセスするためのグローバルなアクセスポイントを提供するんだ。

構造

image

この中でね:

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

Visits Since 2025-02-28

Hugo で構築されています。 | テーマ StackJimmy によって設計されています。