1700471273
}
1700471274
1700471275
该类大家在项目中会经常用到,可以作为参考使用。类似的功能有很多工具已经提供,比如Spring、Apache工具集commons等,大家也可以直接使用。我们再来看备忘录角色,如代码清单24-18所示。
1700471276
1700471277
代码清单24-18 备忘录角色
1700471278
1700471279
public class Memento{
1700471280
1700471281
//接受HashMap作为状态
1700471282
1700471283
private HashMap<String,Object>stateMap;
1700471284
1700471285
//接受一个对象,建立一个备份
1700471286
1700471287
public Memento(HashMap<String,Object>map){
1700471288
1700471289
this.stateMap=map;
1700471290
1700471291
}
1700471292
1700471293
public HashMap<String,Object>getStateMap(){
1700471294
1700471295
return stateMap;
1700471296
1700471297
}
1700471298
1700471299
public void setStateMap(HashMap<String,Object>stateMap){
1700471300
1700471301
this.stateMap=stateMap;
1700471302
1700471303
}
1700471304
1700471305
}
1700471306
1700471307
我们再编写一个场景类,看看我们的成果是否正确,如代码清单24-19所示。
1700471308
1700471309
代码清单24-19 场景类
1700471310
1700471311
public class Client{
1700471312
1700471313
public static void main(String[]args){
1700471314
1700471315
//定义出发起人
1700471316
1700471317
Originator ori=new Originator();
1700471318
1700471319
//定义出备忘录管理员
1700471320
1700471321
Caretaker caretaker=new Caretaker();
1700471322
[
上一页 ]
[ :1.700471273e+09 ]
[
下一页 ]