読者です 読者をやめる 読者になる 読者になる

実例に沿ってSingletonとんとん

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

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

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

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

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

GameParameter
とかもそうかも。

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

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

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