Singleton パターンは、特定のクラスのインスタンスがプログラム全体で、一つだけであることを保証し、そのインスタンスにグローバルアクセスポイントを提供するデザインパターンです。このパターンでは、クラス自体が自分の唯一のインスタンスを管理し、そのインスタンスを返す静的なメソッドを提供します。これにより、アプリケーション内で唯一の共有リソースや設定などの要素を効果的に管理することができます。
Singletonパターンには、以下の要素が含まれます。
- Private Constructor
外部が勝手にインスタンスを生成しないように、Singletonクラスのコンストラクタは、Privateにします。 - 静的メソッド、または静的メンバ変数
唯一のインスタンスにアクセスするために、静的なメソッド、または静的なメンバ変数を用います。 - ただ一つのインスタンス
Singletonクラスは、自身の唯一のインスタンスを持ちます。このインスタンスには、静的なメソッドを通じてアクセスします。