打字猴:1.700477809e+09
1700477809
1700477810 //gzip的压缩算法
1700477811
1700477812 public boolean compress(String source,String to){
1700477813
1700477814 System.out.println(source+”—>”+to+“GZIP压缩成功!”);
1700477815
1700477816 return true;
1700477817
1700477818 }
1700477819
1700477820 //gzip解压缩算法
1700477821
1700477822 public boolean uncompress(String source,String to){
1700477823
1700477824 System.out.println(source+”—>”+to+“GZIP解压缩成功!”);
1700477825
1700477826 return true;
1700477827
1700477828 }
1700477829
1700477830 }
1700477831
1700477832 这两种压缩算法实现起来都很简单,Java对此都提供了相关的API操作,这里就不再提供详细的编写代码,读者可以参考JDK自己进行实现,或者上网搜索一下,网上有太多类似的源代码。
1700477833
1700477834 两个具体的算法实现了同一个接口,完全遵循依赖倒转原则。我们再来看环境角色,如代码清单32-4所示。
1700477835
1700477836 代码清单32-4 环境角色
1700477837
1700477838 public class Context{
1700477839
1700477840 //指向抽象算法
1700477841
1700477842 private Algorithm al;
1700477843
1700477844 //构造函数传递具体的算法
1700477845
1700477846 public Context(Algorithm_al){
1700477847
1700477848 this.al=_al;
1700477849
1700477850 }
1700477851
1700477852 //执行压缩算法
1700477853
1700477854 public boolean compress(String source,String to){
1700477855
1700477856 return al.compress(source,to);
1700477857
1700477858 }
[ 上一页 ]  [ :1.700477809e+09 ]  [ 下一页 ]