打字猴:1.700470684e+09
1700470684 通俗地说,备忘录模式就是一个对象的备份模式,提供了一种程序数据的备份方法,其通用类图如图24-4所示。
1700470685
1700470686
1700470687
1700470688
1700470689 图24-4 备忘录模式的通用类图
1700470690
1700470691 我们来看看类图中的三个角色。
1700470692
1700470693 ❑Originator发起人角色
1700470694
1700470695 记录当前时刻的内部状态,负责定义哪些属于备份范围的状态,负责创建和恢复备忘录数据。
1700470696
1700470697 ❑Memento备忘录角色
1700470698
1700470699 负责存储Originator发起人对象的内部状态,在需要的时候提供发起人需要的内部状态。
1700470700
1700470701 ❑Caretaker备忘录管理员角色
1700470702
1700470703 对备忘录进行管理、保存和提供备忘录。
1700470704
1700470705 备忘录模式的通用代码也非常简单,我们先看发起人角色,如代码清单24-8所示。
1700470706
1700470707 代码清单24-8 发起人角色
1700470708
1700470709 public class Originator{
1700470710
1700470711 //内部状态
1700470712
1700470713 private String state=””;
1700470714
1700470715 public String getState(){
1700470716
1700470717 return state;
1700470718
1700470719 }
1700470720
1700470721 public void setState(String state){
1700470722
1700470723 this.state=state;
1700470724
1700470725 }
1700470726
1700470727 //创建一个备忘录
1700470728
1700470729 public Memento createMemento(){
1700470730
1700470731 return new Memento(this.state);
1700470732
1700470733 }
[ 上一页 ]  [ :1.700470684e+09 ]  [ 下一页 ]