Memento
デザインパターンの一つ.
Undo機能を実現するためのもの.
ある状態を内部でmementoオブジェクトとして生成して外部に返し,また外部のmementoオブジェクトから内部の状態を再現するような実装を行う.
一般にオブジェクトの状態を再現しようとするとオブジェクトの状態の全てをpublicにし外部から観測し保存する必要があるが,Mementoオブジェクトを介することでカプセル化の崩壊を防ぎながら状態のスナップショットが可能となる.