设计模式:备忘模式

发布时间:2021-10-04 23:04:55 阅读:(195)

    备忘模式

    什么是备忘模式

    在不破坏内部结构的前提下捕获一个对象的内部状态,这样便可在以后将该对象恢复到原先保存的状态

    备忘模式最大的功能就是备份,可以保存对象的一个状态作为备份,这样便可让对象在将来的某一时刻恢复到之前保存的状态

    设计思想

    将一个对象的状态或内容记录起来,在状态发生改变或出现异常时,可以恢复对象之前的状态或内容

    设计要点

    • 发起人:需要进行备份的对象
    • 备忘录:备份的状态,即一个备份的存档
    • 备忘录管理者:备份存档的管理者,由它负责与发起人的交互

    优缺点

    优点:

    • 提供了一种可以恢复状态的机制,使得用户能够比较方便地回到某个历史状态
    • 实现了信息地封装,用户不需要关系状态地保存细节
      缺点:
      如果类地成员变量过多,势必会占用比较多地资源,而且每一次保存都会消耗一定地内存。此时可以限制保存的次数

    应用场景

    • 需要保存/恢复对象的状态或数据时,如游戏的存档、虚拟机的快照
    • 需要实现撤销、恢复功能的场景
    • 提供一个可回滚的操作