メインコンテンツまでスキップ

まとめ

パターン比較レビュー

パターン適用条件強み注意点よく使うシーン
Command操作を記録・管理したいUndo/Redo、操作履歴の再実行状態管理は命令側に任されるテキストエディタ、バッチ処理
Memento状態を丸ごと保存・復元したい状態の復元が簡単、外部から安全に扱えるスナップショットが大きくなると重いフォーム復元、セーブデータ

まとめと選び方の指針

  • 操作の「命令」を記録 → Command
  • 状態そのものを記録・復元 → Memento
  • 両方を併用して、「操作履歴+状態保存」も可能!

実際の設計会話での使い分けヒント

  • この操作、履歴が残ってないと戻せないですね。Command で履歴持たせましょう
  • 状態全体のスナップショットを残すなら Memento の方がシンプルかも
  • 操作と取り消しをセットで持ちたいときは Command、状態まるごと残したいときは Memento ですね