博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
适配器模式
阅读量:6166 次
发布时间:2019-06-21

本文共 1293 字,大约阅读时间需要 4 分钟。

 

  适配器模式,顾名思义就是适配之用,一般场景就是,需要的是目标接口,但只有源接口,且源接口和目标接口不一致,这时候就需要一个中间过渡的转换器,这个转换器实现了目标接口,同时也可以执行源接口的逻辑。

  打个形象的比喻,就好比你现在有一个两相的插头,但是插座是三相的,这样你硬插肯定是不行的,这时你就需要一个插线板(就是适配器的角色),一边你两相的插头可以插在它上面,它的插头也可以插在三相的插座上。

  适配器模式主要的角色有:源接口, 目标接口,适配器。 下面直接上代码:

  

  1、源接口  Adaptee

package com.hd.adapter;public interface Adaptee {    void doAdaptee();}

 

  2、源接口实现类

package com.hd.adapter;public class MyAdaptee implements Adaptee {    @Override    public void doAdaptee() {        System.out.println("I am adaptee");    }}

 

  3、目标接口 Target

package com.hd.adapter;public interface Target {    void doTarget();}

 

  4、适配器 Adaptor

  它既实现了 Target 接口,内部又持有源接口的引用,在目标接口的方法实现里,调用源接口的方法。

package com.hd.adapter;public class Adaptor implements Target {    private Adaptee adaptee;    public Adaptor(Adaptee adaptee){        this.adaptee = adaptee;    }    @Override    public void doTarget() {        adaptee.doAdaptee();    }}

 

  5、写一个测试类:

package com.hd.adapter;public class TestAdaptor {    public static void main(String[] args){        Adaptee adaptee = new MyAdaptee();        Target target = new Adaptor(adaptee);        target.doTarget();    // I am adaptee
} }

 

  其实适配器模式在实际项目里用的比较少,主要用来重构原来项目的时候会用到,例如以前的接口比较重要,或者用的地方比较多,不方便随意更改接口,但是又要实现新接口的功能,这样就会用到适配器模式了。

  未完待续。。。

转载于:https://www.cnblogs.com/xiexin2015/p/9038200.html

你可能感兴趣的文章
Scyther-Semantics and verification of Security Protocol
查看>>
Patial修饰符
查看>>
Ubuntu下deb包的安装方法 (zz)
查看>>
HTML学习之==>CSS
查看>>
关于环境变量以及环境变量的配置
查看>>
添加,删除HTML中的标签节点
查看>>
leetcode 239. 滑动窗口最大值
查看>>
爬取全部的校园新闻
查看>>
Check restriction for mysql
查看>>
k8s-PV和PVC使用
查看>>
《软件测试自动化之道》读书笔记 之 请求-响应测试
查看>>
fedora使用初级
查看>>
-fobjc-arc,使ARC与非ARC一块工作
查看>>
阿里云提示:对输入参数id未进行正确类型转义,导致整型注入的发生
查看>>
java中的定时任务
查看>>
css动画制作挂图效果
查看>>
jvm常用参数
查看>>
centos中安装基础环境
查看>>
2018-2019学年第一学期Java课设--魔塔
查看>>
windows下virtualenv使用报错
查看>>