【EffectiveJava[3]】
<第 2 章 オブジェクトの生成と消滅>
項目3:private のコンストラクタか enum 型でシングルトン特性を強制する
■著書からの要点抜粋
シングルトンを生成するときの3つのパターン
1.public finalのフィールドによるシングルトン
→AccesibleObject.setAccssibleメソッドを使用して、リフレクションによりコンストラクタを呼び出せてしまう。
2.staticファクトリーメソッドによるシングルトン
→シリアライズ時に問題あり(。。。省略)
3.enumシングルトン
→現在ではシングルトンを実装する最善の方法は単一要素のenum型を用いること。
■所感
以前使用したのはstaticファクトリーメソッドによるシングルトン。
まぁ、実装者は4名ほどなので問題はなかったけど。。
APIのように広く公開する可能性があるなら3の方法を次から使用しよう。