Singletonパターン
特定のclassのinstanceを1つしか生成できないように強制する
何が嬉しい?
cache用のclassを作りたいとか
cache用のinstanceが複数存在しているとどれが正規のものなのかわからなくなる
現代ではアンチパターンと言われている
Singletonパターンがやっていることは
グローバル変数を作っているようなもの
グローバル変数、グローバルな状態の悪さとだいたい同じ理由で良くない
test codeと相性が悪い
DI(という概念)の登場や、モダン言語機能などにより完全に不要になった
実装例
とてもかんたん
クラス内で自身のインスタンスを生成する
参考