まとめ
パターン比較レビュー
パターン | 適用条件 | 強み | 注意点 | よく使うシーン |
---|---|---|---|---|
Command | 操作を記録・管理したい | Undo/Redo、操作履歴の再実行 | 状態管理は命令側に任される | テキストエディタ、バッチ処理 |
Memento | 状態を丸ごと保存・復元したい | 状態の復元が簡単、外部から安全に扱える | スナップショットが大きくなると重い | フォーム復元、セーブデータ |
まとめと選び方の指針
- 操作の「命令」を記録 →
Command
- 状態そのものを記録・復元 →
Memento
- 両方を併用して、「操作履歴+状態保存」も可能!
実際の設計会話での使い分けヒント
- この操作、履歴が残ってないと戻せないですね。
Command
で履歴持たせましょう - 状態全体のスナップショットを残すなら
Memento
の方がシンプルかも - 操作と取り消しをセットで持ちたいときは
Command
、状態まるごと残したいときはMemento
ですね