备忘录(快照)模式:Memento(Snapshot) Pattern、行为型模式
备忘录模式在不破坏封装的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态,后面可将该对象恢复到原先保存的状态。
备忘录模式核心在于 “后悔药”、”历史快照”
备忘录模式应用场景
1、需要保存历史快照的场景(GIT/SVN)
2、富文本保存历史快照等。
备忘录模式的优缺点
优点:
1、提供状态回滚功能。
2、简化发起人实体类职责,隔离状态存储与获取,实现信息的封装。
缺点:
1、资源消耗,如果保存状态过多时,每一次保存都会消耗内存
备忘录模式源码应用
1、Spring webflow StateManageableMessageContext
ps:备忘录模式具体应用在源码中非常少见