zoukankan      html  css  js  c++  java
  • 适配器模式

    要和外观模式比较下看比较好

    定义:将一个类的接口,转换为客户希望的另一接口。适配器让原本接口不相容的类可以合作无间。

    以java源码中的枚举器到迭代器的适配为例。

    package com.tc.adapter;

     

    import java.util.Enumeration;

    import java.util.Iterator;

    /**

     * 适配器模式

     */

    public class EnumerationIteartor<T> implements Iterator<T> {

    private Enumeration<T> enums;

     

    public EnumerationIteartor(Enumeration<T> enums) {

    this.enums = enums;

    }

     

    @Override

    public boolean hasNext() {

    return enums.hasMoreElements();

    }

     

    @Override

    public T next() {

    return enums.nextElement();

    }

     

    public void remove() {

    throw new UnsupportedOperationException();

    }

    }

     

    package com.tc.adapter;

     

    import java.util.Enumeration;

    import java.util.Hashtable;

     

    public class Test {

    public static void main(String[] args) {

    Hashtable<String, String> hashTable = new Hashtable<String, String>();

    hashTable.put("a", "AAA");

    hashTable.put("b", "BBB");

    hashTable.put("c", "CCC");

    hashTable.put("d", "DDD");

    Enumeration<String> enumeration = hashTable.elements();

    EnumerationIteartor<String> adapter = new EnumerationIteartor<>(enumeration);

    while (adapter.hasNext()) {

    String enumx = adapter.next();

    System.out.println(enumx);

    adapter.remove();

    }

    }

    }

  • 相关阅读:
    linux中jdk的安装
    @Transactional 的回滚
    监听器以及在监听类里面获得bean的方法
    list的顺序反转
    iOS 升级到xcode 7和iOS9 问题处理
    iOS 9.0系统策略更新
    iOS 技术分享3
    iOS 技术分享2
    iOS 技术分享
    iOS 面试题
  • 原文地址:https://www.cnblogs.com/fanguangdexiaoyuer/p/5823417.html
Copyright © 2011-2022 走看看