シングルトンパターン
https://gyazo.com/46be11eb8f7c9342904dc56f2922931f
無垢の神
強烈なパターン
さらに多くの人が誤解しているのは、アプリケーション全体で共有するコンテキストのことを Singleton と呼んでしまうことです。それただのグローバル変数だから。
もし Singleton のフリをしたものがアプリケーションの望みを聞き入れてしまうなら、それは悪魔の誘いです。人の煩悩にとって都合のいい形で祀られ、いずれ肥大化します。そうすると、人は逆に、その悪魔によって、制御できない無秩序に支配されます。
グローバル変数による共有をシングルトンパターンと言いがち
これは中長期的に見て、品質の低下を招く
短期的な作りやすさに主眼をおいた時に作りやすい
ゲーム業界の大部分がC言語からオブジェクト指向プログラミングへと移行したとき、問題となったことの1つが「どのようにしてインスタンスを取得するか」でした。呼び出したいメソッドがあるのに、そのメソッドを提供するオブジェクトが手元にないのです。シングルトン(言葉を変えればグローバルにすること)が安易な解決策だったのです。
Robert Nystrom. Game Programming Patterns ソフトウェア開発の問題解決メニュー (impress top gearシリーズ) (Japanese Edition) (Kindle の位置No.2271-2274). Kindle 版.
使っていい状況をハッキリと決めるべき
アクセスのしやすさで使うのはダメ。
ヘルパーのような挙動をするManager クラスをシングルトンにするのは OOP 的におかしいときが多い
本来のclassの中にもたせていい機能