备忘录模式是一种行为型设计模式,它允许在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后将对象恢复到原先保存的状态。
该模式主要涉及三个角色:
(1)发起人(Originator):这是需要保存和恢复状态的对象。发起人通常包含需要保存的状态数据,以及创建备忘录和从备忘录中恢复状态的方法。
(2)备忘录(Memento):用于存储发起人对象状态的对象。备忘录通常具有访问状态数据的方法,但不能直接修改状态。
(3)管理者(Caretaker):负责管理备忘录的对象。它可以保存多个备忘录对象,并提供对备忘录的访问,通常提供了保存和恢复状态的接口。