1700477990
public class GzipUncompressCmd extends AbstractCmd{
1700477991
1700477992
public boolean execute(String source,String to){
1700477993
1700477994
return super.gzip.uncompress(source,to);
1700477995
1700477996
}
1700477997
1700477998
}
1700477999
1700478000
它们非常简单,都只有一个方法,坚决地执行命令,使用了委托的方式,由接收者来实现。我们再来看抽象接收者,如代码清单32-11所示。
1700478001
1700478002
代码清单32-11 抽象接收者
1700478003
1700478004
public interface IReceiver{
1700478005
1700478006
//压缩
1700478007
1700478008
public boolean compress(String source,String to);
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
[
上一页 ]
[ :1.70047799e+09 ]
[
下一页 ]