1700470915
//克隆当前对象
1700470916
1700470917
@Override
1700470918
1700470919
protected Originator clone(){
1700470920
1700470921
try{
1700470922
1700470923
return(Originator)super.clone();
1700470924
1700470925
}catch(CloneNotSupportedException e){
1700470926
1700470927
e.printStackTrace();
1700470928
1700470929
}
1700470930
1700470931
return null;
1700470932
1700470933
}
1700470934
1700470935
}
1700470936
1700470937
增加了clone方法,产生了一个备份对象,需要使用的时候再还原,我们再来看管理员角色,如代码清单24-13所示。
1700470938
1700470939
代码清单24-13 备忘录管理员角色
1700470940
1700470941
public class Caretaker{
1700470942
1700470943
//发起人对象
1700470944
1700470945
private Originator originator;
1700470946
1700470947
public Originator getOriginator(){
1700470948
1700470949
return originator;
1700470950
1700470951
}
1700470952
1700470953
public void setOriginator(Originator originator){
1700470954
1700470955
this.originator=originator;
1700470956
1700470957
}
1700470958
1700470959
}
1700470960
1700470961
没什么太大变化,只是备忘录角色转换成了发起人角色,还是一个简单的JavaBean。我们来想想这种模式是不是还可以简化?要管理员角色干什么?就是为了管理备忘录角色,现在连备忘录角色都被合并了,还留着它干吗?我们想办法把它也精简掉,如代码清单24-14所示。
1700470962
1700470963
代码清单24-14 发起人自主备份和恢复
1700470964
[
上一页 ]
[ :1.700470915e+09 ]
[
下一页 ]