あらゆる機能は、コスト0で手に入るものではありません。実行コストなり開発コストなりに必ず跳ね返ってきます。拡張性という機能も同じです。必ず天秤にかける必要があります。
とくにメッセージによるオブジェクト間の通信は、コンパイル時間が非常に遅いC++だからこそ必要なテクニックかもしれません。
かといって、闇雲にクラスを作ると関連爆発を起こして管理不能な状態に陥ります。特にゲームの場合、オブジェクト間の通信が複雑になりがちです。
この場合に使われるのは…そうです、Mediatorパターンです。
Mediatorパターンに関しては私が説明するよりも他を当たってもらったほうがよいので割愛しますが、Mediatorとなるクラスのインターフェイスについては一考の余地があります。
一人で開発する場合、Mediatorのインターフェイスが増えても管理するのは一人なので、一枚岩のインターフェイスでも特に問題はありません。
ですが、もし複数人で開発するのならば、特定の機能ごとに分割したインターフェイスを作ると後々分業が楽になると思います。例えばサウンド再生のインターフェイス、当たり判定のインターフェイス、などです。
0 件のコメント:
コメントを投稿