美文网首页
适配器模式

适配器模式

作者: 樱花舞 | 来源:发表于2020-06-28 14:35 被阅读0次

适配器模式的意图是把一个接口转换成客户希望的另一个接口。在实际开发中,调用另一个服务接口或外部三方的平台这样的场景就可以运用适配器模式来开发。如下面的例子,调用第三方的接口时返回的接口参数格式与自己想要的不同,就可以在适配器实现类中对返回的接口进行处理成自己需要的。

1、首先定义适配器接口Adapter

public interface Adapter {
    Result getPersonInfo(String name);
}

2、然后就是它的实现类:

public class AdapterImpl implements Adapter {
    @Override
    public Result getPersonInfo(String name) {
        //调用第三方接口,返回的参数结构与自己想要的不同,可以使用适配器模式
        //来组装结果。
        //假设调用接口返回的是json字符串,如下:
        //{
        //    "personName":"ff",
        //    "personSex":"男",
        //    "personAge":12,
        //    "adress":"sdfddf"
        //}
        //此结果与自己想要的Result的属性不同,需要重新组装
        String url = "http://xxxx:8080/get?name=" + name;
        String jsonResult = "{\"personName\":\"ff\",\"personSex\":\"男\",\"personAge\":12,\"adress\":\"sdfddf\"}";
        Map<String, Object> map = JSON.parseObject(jsonResult, Map.class);
        Result result = new Result();
        result.setAge((int)map.get("personAge"));
        result.setName(map.get("personName").toString());
        result.setSex(map.get("personSex").toString());

        return result;
    }
}

其中的Result类是自己定义的结果类型:

public class Result {
    private String name;

    private String sex;

    private Integer age;
    //省略getter和setter方法
}

3、方法调用

public class Main {
    public static void main(String[] args) {
        Adapter adapter = new AdapterImpl();
        Result result = adapter.getPersonInfo("sdf");
        System.out.println(result.getName());
        System.out.println(result.getAge());
        System.out.println(result.getSex());
    }
}

这是一个简单的例子,把第三方返回的结果处理成自己想要的结果类型,如果是用spring框架,也可以把Adapter作为一个bean,而不需要new一个实现类来调用。

相关文章

  • Java设计模式(二)

    talk is cheap show me the code 适配器模式 类适配器模式 接口适配器模式 对象适配器...

  • 适配器模式

    目录 1、什么是适配器模式? 2、适配器模式结构? 3、如何实现适配器模式? 4、适配器模式的特点? 5、适配器模...

  • 设计模式之适配器模式

    适配器模式: 类适配器模式、对象适配器模式、接口适配器模式 1.类适配器模式:新的接口出现了,但是和老的接口不兼容...

  • 学习iOS设计模式第一章 适配器(Adapter)

    今天学习了iOS设计模式中的适配器模式,适配器有两种模式对象适配器模式-- 在这种适配器模式中,适配器容纳一个它包...

  • 第4章 结构型模式-适配器模式

    一、适配器模式简介 二、适配器模式的优点 三、适配器模式的实例

  • 设计模式(Design Patterns)适配器模式(Adapt

    适配器模式主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。 类的适配器模式 场景:将一个类转换成...

  • 适配器模式

    适配器模式主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。适配器模式将某个类的接口转换成客户端期...

  • 适配器模式

    先直观感受下什么叫适配器 适配器模式有类的适配器模式和对象的适配器模式两种不同的形式。 类适配器模式 对象适配器模...

  • 适配器模式

    适配器模式 一、适配器模式定义 适配器模式的定义是,Convert the interface of a clas...

  • 设计模式:结构型

    享元模式 (Pools,Message) 代理模式 适配器模式 :类适配器和对象适配器 装饰者模式 外观模式 桥接...

网友评论

      本文标题:适配器模式

      本文链接:https://www.haomeiwen.com/subject/rhfwfktx.html