UML
说明
这个特别适用于需要时常记录对象某些参数。这个模式是非常简单的模式,也比较好理解,在这就不过多说明了。
优化
以下是我自己的个人分析:
但是上面的UML有个弊端,就是使用者要同时管理这三个类,在一些比较简单的情况下,这样会增大用户的使用难度。其实可以让Originator自己管理备忘录,不需要外界的Caretaker进行管理,这样应用起来会更方便。即Originator的CreateMemento接口生成的备忘录记录在Originator的一个私有成员变量里。