Javaを使ってRPGを記述しようとしても一切体系的に記述できないし、
2次元の関数テーブルのほうが、明らかにデータの凝集度としても上なんだよなあ

オブジェクト指向の教義を信じて
それぞれの役割に応じて最適行動を散らばらせても待ってるのは悲劇だけだから

例えばだけど、Flameに対する各役割の最適行動はなんですかという疑問を持ったとしよう。
オブジェクト指向だと、それぞれの役割に対して、いちいち聞いて回らないといけなくなるよね
Fighter.OptimalAct() Magician.OptimalAct() Thief ・・・
ここで、BattleClassの必要性は確定しちゃうよね
Foreachでぶん回すことを考えると、各職業を集約してまとめあげるようなスーパークラスあるいはインターフェースが必要になる

もちろん我々はそんなことをしなくてもFの行を横に見ていくだけでわかるのにね