- SomethingManager(http://www.radiumsoftware.com/0603.html#060330)
クラス名に "Manager" という接尾語を用いていることは,そのクラスの設計に不備があることを暗に告げていると考えることができる。
GameManagerとかいうクラスを臆面もなく使っている私には耳が痛すぎる。
ちなみにGameManagerはアクターのプールを管理するとともに、ゲーム内の1フレームでの動作と、画面の描画を行っているクラスなんだけど、この場合代わりにどういった名前を付けるのが正解なんだろう。
- Game
- GameCycle
- GameSupervisor
- ActorPoolPool
- Main
どれもいまいち。PoolPoolはねえな。
ついでに言うと、タイトル、ゲーム中、ゲームオーバーとかいうゲームの状態もGameManagerで管理してしまうことが多いのだが、これらの状態をうまくハンドリングする方法もまだあんまり分かってない。それぞれの状態をGameStateとかいうクラスから継承して書いたりもしたけど、結局switchで分岐したほうが簡単だったりして、あんまりうまくいってない。
ゲームのライフサイクル管理方法について、そもそももうちょっと考えないといかんね。