RollingFileAppender
负责存储Originator对象的内部状态,并可防止Originator以外的其他对象访问备录Memento
Memento
+State
FileAppender
ConsoleAppender
Caretaker
-Memento:Memento
Originator
+SetMemento(in m:Memento)+CreateMemento()
WriterAppender
AppenderSkeleton
负责保存好备录Memento
Appender