Rubyにおけるシングルトンパターンの実装方法

Rubyにおけるシングルトンパターンの実装方法についてまとめる。

シングルトンパターンとは

シングルトンパターンは、インスタンスが1つしか存在しないことを保証するデザインパターンである。

Singletonモジュールを作成する方法

RubyにはSingletonモジュールが用意されており、これを使うことでシングルトンパターンを実装することができる。

newメソッドをprivateになるため、Config.newでインスタンスを生成することができない。そのため、Config.instanceで唯一のインスタンスを取得することができる。

クラスメソッドを使う方法

newをprivateにして、クラスメソッドでインスタンスを管理する方法もある。

newがprivateであるため、Config.newでインスタンスを生成することができない。そのため、Config.instanceで唯一のインスタンスを取得することができる。

定数を使う方法

クラス変数を使わず、定数を使ってシングルトンパターンを実装する方法もある。

定数にnewしたインスタンスを代入し、newメソッドをprivateにすることで、唯一のインスタンスを取得することができる。

まとめ

Rubyにはシングルトンパターンを実装するための方法がいくつかある。

その中でも、Singletonモジュールを使う方法が標準的であり、スレッドセーフな安全な実装であるため推奨される。(たぶん)