使用备忘录模式可以把复杂的发起人内部信息对其他的对象屏蔽起来,从而可以恰当地保持封装的边界。 2、本模式简化了发起人类。发起人不再需要管理和保存其内部状态的一个个版本,客户端可以自行管理他们所需 要的这些状态的版本。 3、当发起人角色的状态改变的时候,有可能这个状态无效,这时候就可以使用暂时存储起来的备...
特点后进先出 */ private final StackmArticleMementoStack = new Stack<>(); /** * 获取栈顶的备忘录信息 * @return */ public ArticleMemento getArticleMemento() { return mArticleMementoStack.pop(); } /** * 备忘录信息
使用备忘录模式可以轻松实现对象状态的保存和恢复,特别适合需要撤销操作的场景。 缺点 占用资源: 保存对象的状态需要存储额外的备忘录,如果对象的状态很复杂或需要频繁保存状态,可能会占用较多的存储空间。 实现复杂度: 需要实现备忘录、发起人和负责人三个角色,可能增加代码的复杂度。 类图 +---+ +---+ +---+...