用途


适配器模式 (Adapter)
将一个类的接口转换成客户希望的另外一个接口。
Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

适配器模式是一种结构型模式

结构


图-适配器模式结构图

Target : 定义用户实际需要的接口

abstract class Target {
    public abstract void Request();
}

Adaptee : 定义一个需要适配的接口

class Adaptee {
    public void SpecificRequest() {
        System.out.println("特殊请求");
    }
}

Adapter : 通过在内部包装一个 Adaptee 对象,把源接口转换成目标接口。

class Adapter extends Target {
    private Adaptee adaptee = new Adaptee();

@Override
    public void Request() {
        adaptee.SpecificRequest();
    }
}

测试代码

public class AdapterPattern {
    public static void main(String[] args) {
        Target target = new Adapter();
        target.Request();
    }
}

运行结果

特殊请求

应用场景


想要使用一个已经存在的类,但如果它的方法不满足需求时;

两个类的职责相同或相似,但是具有不同的接口时要使用它;

应该在双方都不太容易修改的时候再使用适配器模式适配,而不是一有不同时就使用它。

推荐

本文属于 JAVA设计模式系列

参考资料

《大话设计模式》

《HeadFirst设计模式》

JAVA 设计模式 适配器模式相关推荐

  1. Java | 设计模式-适配器模式

    继代理模式后又来到适配器模式啦,想看之前的也有哦.持续更新中哦.让我们一起加油吧兄弟们,干他. 很喜欢一句话:"八小时内谋生活,八小时外谋发展". 你好,如果喜欢,请一起坚持!! ...

  2. java设计模式适配器模式_Java中的适配器设计模式

    java设计模式适配器模式 适配器设计模式是一种结构设计模式 ,可以帮助我们连接到通过不同接口公开相似功能的旧版或第三方代码. 适配器的现实世界是我们用来将USB电缆连接到以太网端口的类比. 在设计一 ...

  3. java设计模式适配器模式_Java解释器设计模式

    java设计模式适配器模式 Interpreter design pattern is one of the behavioral design pattern. Interpreter patter ...

  4. 【设计模式】Java设计模式 - 适配器模式

    [设计模式]Java设计模式 - 适配器模式

  5. JAVA设计模式--适配器模式

    目录 1.什么是适配器模式 2.适配器模式的适用场景 3.适配器模式的结构 4.适配器模式应用举例 5.适配器模式的选择 参考文章 1.什么是适配器模式 适配器(Adapter)模式又叫做包装( Wr ...

  6. Java设计模式——适配器模式【Adapter Pattern】

    一.引言 23种设计模式大概分为三大类: 5种(创建型模式):工厂方法模式.抽象工厂模式.单例模式.原型模式.建造者模式. 7种(结构型模式):适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组 ...

  7. java设计模式-适配器模式

    模式导读:    每个人都有自己不同的需要,每个人都有自己能够接受的不同方式,就像是为满足现在快速度发展的社会,几乎人人离不开手机的时代,我们也许会碰到在外出行手机电量不足的情况,这个时候如果你在车站 ...

  8. java设计模式---适配器模式

    类适配器 客户的开发人员定义了一个接口,期望用这个接口来完成整数的求和操作,接口定义如下: Java代码   public interface Operation{         public in ...

  9. Java设计模式 - 适配器模式

    概述 将一个类的接口转换成客户希望的另外一个接口.适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 构造器模式 上面的概述可能不是太容易理解,下面举一个例子说明适配器模式的应用. ...

  10. Java设计模式-适配器模式Adapter

    定义:"转换接口" 将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作. 我理解的"一个类的接口&q ...

最新文章

  1. 基于曲率的体素聚类的三维激光雷达点云实时鲁棒分割方法
  2. git如何回退到之前版本
  3. 题目1191:矩阵最大值
  4. 并发编程-java内存模型
  5. 洛谷P1352 没有上司的舞会(树形DP水题)
  6. 《天天数学》连载18:一月十八日
  7. php propel,关于propel--PHP
  8. C#中类的默认构造函数对类中属性值的初始化情况
  9. CSS知识点梳理(二)
  10. 乐max2 android9,辣评烩:乐Max 2即将升级EUI 6.0 基于安卓7.0!
  11. jquery读取表单中提交的数据
  12. VFP 常用 OCX 控件 注册
  13. 机器人仿真论文阅读2
  14. QtCreator编译错误: -1: error: [debug/main.o] Error 1 问题的解决办法
  15. 普通商品期货手机开户流程
  16. 【C语言】goto语句用法 自动关机小程序(关爱同学)
  17. [跟练]基于七普修正Worldpop人口栅格数据(附2020年worldpop100m人口栅格)
  18. 如何利用IDEA将项目打包
  19. iPhoneX的faceID到底是一种怎样风骚的操作?
  20. 网页中登陆注册是如何实现的

热门文章

  1. HTML - 布局div
  2. 【数据结构笔记】归并排序(merge_sort)+ 堆排序 -- python2.7
  3. keil4如何将c语言转换成汇编语言_keil中怎么在c语言里嵌入汇编语言
  4. 二进制差分码规则_二进制 你不知道的事
  5. win7如何安装mysql5.7_Win7下安装MySQL5.7.16过程记录
  6. 关于为什么10000000可以表示-128
  7. Eclipse如何打出war包
  8. L1-030 一帮一 (15 分)—团体程序设计天梯赛
  9. rk3399固件烧录方法介绍
  10. P3194 [HNOI2008]水平可见直线