Singleton
Singletonとは、オブジェクト指向プログラミングにおいて使用される23種類のデザインパターンの1つです。このデザインパターンはオブジェクトの生成のためのパターンです。
Singleton パターンは、そのクラスのインスタンスがプログラム中で必ず1つしか生成されないというパターンです。プログラム中でインスタンスの状態を常に保持・更新する場合やクラス間で共通のデータとして常にアクセスする必要がある場合に使用します。
Singletonパターンを実現するには、Singletonクラスとして定義するクラスを用意し、そのクラス内で自身の型のインスタンスが宣言されます。この時、インスタンスが1つしか存在しないようにソースコードを組みます。このSingletonクラス内でインスタンスを返すためのメソッドも定義することで、ソースコード中のどこからでも呼び出せます。