设计模式第七集——适配器模式
什么时候使用适配器模式?
当需要使用一个现有的类而其接口并不符合需求的时候,使用适配器。
例子:在之前的java中,collection类比如Vector、Stack、Hashtable均有一个element()方法返回一个Enumeration遍历里面的元素,后来推出了Iterator。现在要想让之前代码中的枚举器接口变为Iterator,就需要写一个适配器。
通过适配器之后,现在使用的依旧是迭代器,但实际上是通过适配器调用的之前枚举类接口。
代码:
1 package com.test; 2 3 import java.util.Enumeration; 4 import java.util.Iterator; 5 6 public class EnumeratorIterator implements Iterator{ 7 Enumeration enumeration; 8 9 public EnumeratorIterator(Enumeration enumeration){ 10 this.enumeration=enumeration; 11 } 12 public boolean hasNext() { 13 // TODO Auto-generated method stub 14 return enumeration.hasMoreElements(); 15 } 16 17 @Override 18 public Object next() { 19 // TODO Auto-generated method stub 20 return enumeration.nextElement(); 21 } 22 23 @Override 24 public void remove() { 25 // TODO Auto-generated method stub 26 27 } 28 29 30 }
最后在介绍一下外观模式
适配器模式是让一个并不适应现在要求的接口转换成满足要求的接口。外观模式:提供一个统一的接口,用来方位子系统中的一群接口。目的是简化接口,让子系统更容易使用