MASATOの開発日記


前の開発日記 次の開発日記 一覧

2003/01/05

色々と設計をしていていつも思うこと。 自分は本質を見失ってないだろうか。それ以前に自分は本質を理解しているのだろうか。 自分がやっていることは何か意味があることなのだろうか。 自分が悩んでいる部分は実はどうでも良い部分ではないだろうか。 そんなことばっかりです。
つまり、あまり自分を信用できてないのです。
この開発日記を書くときも、いつもでたらめな事を書いてしまってないかと心配しています。 いや本当にでたらめな事が書かれているかもしれません。お気をつけ下さい。

ゲームのアーキテクチャ失敗例その3

今回が最後の失敗例になります。前回のアーキテクチャのネットワーク対戦対応が困難という 問題を解決するために、変更を施したものです。クラス図を以下に示します。

Battleクラスに、いくつかのクラスが関連付けられています。ゲームの仕様上、 Title,Fieldクラスはネットワーク対戦には関係無いので変更されていません。

新しく追加されたクラスを簡単に説明します。
本当は、ネットワーク対戦におけるサーバやクライアントの役割についても説明しなければならないのですが、 一般的な役割しか割り振っていませんので、省略します。

このように変更することにより、次のような効果がありました。

上記の構成は、Commandパターン(ExecutorがCommandクラスに相当します)やAbstractFactoryパターンを使用し、 なんとなく格好良い構成だと一時は思っていたのですが、問題点はいっぱいあります。

というわけで、色々付け足していった結果、わけのわからん構成になってしまったという失敗例でした。 次からは、前向きに、どのような構成が良いのかを考えていってみたいと思います。

前の開発日記 次の開発日記 一覧