打字猴:1.700470915e+09
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 ]  [ 下一页 ]