设计模式--适配器模式

 

正文

什么是适配器模式?

  适配器模式就有一个工具(适配器),将不适合你用的东西,经过这个工具的处理,变成你能用的东西。
  例如你的手机只有type-C的接口,但是你耳机接口是3.5mm的圆形插头,那你肯定用不了这个耳机。所以你肯定会去淘宝买一个转换器(一头是type-C的,一头是3.5mm圆形的),这样你就能用这个耳机了,适配器就是这个转换器。

为什么要使用适配器模式?

  在前面我们已经提到过了,我们手头上有的东西,可能和我们已有的功能不适配,为了能顺利使用,我们就必须有个第三方工具,来帮我们进行适配。

怎样使用适配器模式?

  很简单,创建一个适配器类,传入我们已有的数据,处理数据,返回我们需要的格式的数据

设计模式--适配器模式_第1张图片

 

 

/**
 *     适配器模式
 * */
public class adapterTest {
    public static void main(String[] args) {
        /** 我有100美元 */
        String dollar = "100$";
        /** 开开心心买东西去咯 */
        System.err.println(shopping(dollar));
        /** 这里没人认识美元,不肯收,为了买东西,我先去银行换成人民币吧 */
        BankAdapter bank = new BankAdapter();
        /** 通过银行适配器换到钱了 */
        String rmb = bank.dollar2RMB(dollar);
        /** 又去买东西去咯 */
        System.err.println(shopping(rmb));
    }
    
    public static String shopping(String rmb) {
        if(rmb == null) {
            return "滚一边去,还想白嫖!!!";
        }else if(rmb.contains("RMB")) {
            return "欢迎下次光临";
        }else {
            return "这是什么狗屁钱,别想拿一堆废纸骗我,滚。";
        }
    }
}

/***
 *     适配器
 * */
class BankAdapter{
    double exchangeRateDollar2RMB = 7.0602;
    /** 将美元转成人民币 */
    public String dollar2RMB(String dollarStr) {
        /** 复杂的处理 */
        double dollar = Double.valueOf(dollarStr.replace("$", ""));
        dollar = dollar * exchangeRateDollar2RMB;
        String rmb = String.format("%.2f", dollar);
        return rmb + "RMB";
    }
}

 

你可能感兴趣的:(设计模式--适配器模式)