Mementoには記念品や思い出といった意味があり、ざっくりとまとめると「状態を保存しておけば、やり直しができるじゃないか!」といったもの。
Mementoパターンに登場するのは下記の3クラス。(便宜上クラスとしているが、役という表現のほうがしっくりくるかも)
Originator
Save(Mementoを作成する)とLoad(Mementoを読み込む)の機能を有するクラス。Memento
セーブデータそのものを表すクラス。Caretaker
Originatorに働きかけてSaveとかLoadを実行し、セーブデータ(Memento)を管理するクラス。ポイント
- Originator君はMementoを作成する人なので、Mementoのすべてに触れることができる。
- 対してCaretakerさんはMementoを管理(永続化とか)するだけなので、Mementoの必要最低限についてのみ触れられれば良い。
0 件のコメント:
コメントを投稿