>>127
あと、1の言ってる「肥大化」は実行時の処理の重さとかではなく
クラス毎の処理の役割分担的な意味の方です。MVCとかMVPとかの話ですね。

例えばUnitManager、Unit(基底クラス)、AUnit、BUnit、CUnit.......クラスがあったとして

極端な話だと
A設計:UnitManagerにswitch文を書いて全Unitの移動を書く、Unitはただの構造体みたい
B設計:各Unitクラスに移動処理を書く

A設計がUnitManagerが肥大化するということで
各Unitの更新・追加にも対応しなきゃだしコード見にくいし
ManagerかUnit子クラスを誰かが編集したらビルド通んない
コンフリクト多発
とかになります。