andy's blog

记录我的所做所思

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  1 Posts :: 13 Stories :: 0 Comments :: 0 Trackbacks
一:
     现实生活例子:插座是三相的如果电器插头是两相的,那么需要一个adapter把三相的插座转成两相。
    
//Enumeration到Iterator的Adapter
public class EnumerationIterator implements Iterator {
    
private Enumeration enumeration;
    
public EnumerationIterator(Enumeration enumeration)
    
{
        
this.enumeration=enumeration;
    }

    
public boolean hasNext() {
        
return enumeration.hasMoreElements();
    }


    
public Object next() {
        
return enumeration.nextElement();
    }

    
public void remove() {
        
throw new UnsupportedOperationException();
    }

}

    /**
     * 客户端代码
     
*/

    
public static void main(String[] args) {
        Vector vect
=new Vector();
        vect.add(
"v1");
        vect.add(
"v2");
        display(
new EnumerationIterator(vect.elements()));
        List list1
=new ArrayList();
        list1.add(
"L1");
        list1.add(
"L2");
        display(list1.iterator());
    }

    
public static void display(Iterator iter)
    
{
        
while (iter.hasNext())
        
{
            System.out.println(iter.next());
        }

    }

     The Adapter Pattern converts the interface of  a class into another interface the client expect.Adapter lets classes work together that couldn't otherwise because of  incompatible interfaces.
   和Decorator模式不同,decorator对类包装后是增加它的功能,而Adapter是改变接口形式以适用client需要
   
   应用实例:WINE在Linux环境下运行Windows程序。
                       JDBC/ODBC桥。
posted on 2006-03-30 11:29 zhoumin 阅读(112) 评论(0)  编辑  收藏 所属分类: 设计模式

只有注册用户登录后才能发表评论。


网站导航: