1700478009
1700478010
//解压缩
1700478011
1700478012
public boolean uncompress(String source,String to);
1700478013
1700478014
}
1700478015
1700478016
抽象接收者与策略模式的抽象策略完全相同,具体的实现也完全相同,只是类名做了改动,我们先来看zip压缩的实现,如代码清单32-12所示。
1700478017
1700478018
代码清单32-12 zip接收者
1700478019
1700478020
public class ZipReceiver implements IReceiver{
1700478021
1700478022
//zip格式的压缩算法
1700478023
1700478024
public boolean compress(String source,String to){
1700478025
1700478026
System.out.println(source+”—>”+to+“ZIP压缩成功!”);
1700478027
1700478028
return true;
1700478029
1700478030
}
1700478031
1700478032
//zip格式的解压缩算法
1700478033
1700478034
public boolean uncompress(String source,String to){
1700478035
1700478036
System.out.println(source+”—>”+to+“ZIP解压缩成功!”);
1700478037
1700478038
return true;
1700478039
1700478040
}
1700478041
1700478042
}
1700478043
1700478044
这就是一个具体动作执行者,它在策略模式中是一个具体的算法,关心的是是否可以被替换;而在命令模式中,它则是一个具体、真实的命令执行者。我们再来看gzip接收者,如代码清单32-13所示。
1700478045
1700478046
代码清单32-13 gzip接收者
1700478047
1700478048
public class GzipReceiver implements IReceiver{
1700478049
1700478050
//gzip的压缩算法
1700478051
1700478052
public boolean compress(String source,String to){
1700478053
1700478054
System.out.println(source+”—>”+to+“GZIP压缩成功!”);
1700478055
1700478056
return true;
1700478057
1700478058
}
[
上一页 ]
[ :1.700478009e+09 ]
[
下一页 ]