1.备忘录模式:在一个对象之外保存一份这个对象的部分或全部内部状态。以后可以将这个对象恢复到保存时的状态。
2.本质是要求有一个独立的备忘录数据对象,它封装了需要备份的数据参数细节。
不破坏封装性:使用数据对象的业务对象,能看到数据对象的宽接口,即可以访问数据对象的各个数据参数。而备份数据对象的持有者,只能看到数据对象的窄接口,即只能传递数据对象,而不能操作其中的数据细节。
若需要更改保存细节,只需要修改业务对象和备忘数据对象,不需要修改调用对象。
3. Originator负责创建备忘录数据对象,并且可以接受备忘数据对象以恢复数据。
Memento负责存储Originator的内部状态,并可防止Originator以外的其它对象访问备忘录Memento对象。
Caretaker负责保存好Memento,它不能对Memento的内容进行操作。