実例に沿ってSingletonとんとん

例えば、
ゲーム的に表現してしまうんですが、
ScriptEngine
というクラスがあるとして、
スクリプトをロードして実行する機能を持つとする。

一つのスクリプトデータに関して一つのインスタンスを持つ訳ではなく、
ロードしたデータに関連したハンドル、
ないしは戻り値として関連づけられたインスタンスを返し、
それらが各スクリプト実行の責務を負うとする。

こういうとき、
ScriptEngineというクラスは世界に一つだろうが、
何もSingletonにして全世界に公開する必要はない。

もっと言えば、
EnemyFactoryなんちゃら
みたいなものがあったとして、
これも世界に一つだろうが、
Singletonである必要はない。

クラスはクラスの必要最低限の箇所で稼働すべきで、
安直にグローバルになるべきではない。

GameParameter
とかもそうかも。

グローバル変数にしたいからSingletonにしてないか?」
をまず考えるべきだと思う。

とか、そういう益体のない話なのでした。
まる。

今日、
若い子に「別にグローバル変数でも良いんじゃないですか」とか言われたけどね ^_^;