前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计模式之—适配器模式

设计模式之—适配器模式

作者头像
代码改变世界-coding
发布2018-09-27 15:46:16
3490
发布2018-09-27 15:46:16
举报
文章被收录于专栏:java相关

1.适配器模式的定义

Adapter Pattern:Convert the interface of a class into another interface clients expect.Adapter lets classes work together that couldn't otherwise because of incompatible interface.

将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够一起工作。

2.通用类图

适配器模式中有三个主要对象。

Target:

代码语言:javascript
复制
转换成的目标接口,即将其他类转换为此Target接口

Adaptee:

代码语言:javascript
复制
被转换的类

Adapter:

代码语言:javascript
复制
适配器,通过实现Target接口并继承Adaptee类,并重写Target接口方法来实现适配

类图如下:

实现代码如下: Target类:

代码语言:javascript
复制
public interface Target {

    /**
     * request
     */
    void request();
}

Adaptee类:

代码语言:javascript
复制
public class Adaptee {

    public void doSomething(){
        System.out.println("Do something!");
    }
}

Adapter类:

代码语言:javascript
复制
public class Adapter extends Adaptee implements Target {

    @Override
    public void request() {
        doSomething();
    }
}

Client类:

代码语言:javascript
复制
public class Client {

    public static void main(String[] args) throws Exception {
        Target target = new Adapter();
        target.request();
    }
}
3.优点

1.可以使两个无关联的类一起运行 2.灵活性好,当不需要此适配器的时候,只需要将此类摘除掉即可

4.总结

适配器模式通常用来解决在功能变动时,解决接口不相容的问题,在系统设计阶段不应该使用此中模式

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.适配器模式的定义
    • 2.通用类图
      • 3.优点
        • 4.总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档