コマンドパターン
https://gyazo.com/88e299f551551cf2b253e28b62acdc4e
Actorの行動は基本的に全てコマンドにできる
コマンドにすることで、以下の特性がうまれる
Undo
コマンドの追加が容易
プログレスの把握
履歴の記録
コンフィグ化
ネットワークを介した行動
メソッド呼び出しで済むものまでコマンドパターンを適用する、ヤリ過ぎアンチパターンも起こり得るので注意
なぜ「実行すること」なんて回りくどいインスタンスを作るのでしょうか。実行するときに呼べばいいんじゃ? それは、Command オブジェクトとして置いてあれば、じっさいに動かすタイミングを、実行計画を担うマネージャーに委ねることができるからです。もしくはキャンセルできるからです。
ゲームでは処理タイミングが演出を待ったり、描画を待ったりするので、タイミングを調整しながら確実に実行させられるコマンドパターンは有効