适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
类的适配器模式
在上图可以看出,Adaptee类并没有sampleOperatin2()方法,而客户端期待这个方法。为了使客户端能够使用Adaptee类,提供一个中间环节,即类Adapter,把Adaptee的API与Target类的API衔接起来。Adapter与Adaptee是继承关系,这决定了这个适配器模式是类的。
对象的适配器模式
与类的适配器模式一样,对象的适配器模式把被适配的类的API转换成为目标类的API,与类的适配器模式不同的是,对象的适配器模式不是使用继承关系连接到Adaptee类的,而是使用了委派关系连接到Adaptee类的。
从上图可以看出,Adaptee类并没有sampleOperatin2()方法,而客户端期待这个方法。为了使客户端能够使用Adaptee类,提供了一个包装(Wrapper)类Adapter。这个包装类包装了一个Adaptee的实例,从而此包装类能够把Adaptee的API与Target类的API衔接起来。Adapter和Adaptee是委派关系,这决定了这个适配器模式是对象的。
JDBC驱动软件与适配器模式
各个数据库的JDBC驱动就是为了将各个数据库引擎的API适配成JDBC通用接口的形式。
Java I/O与适配器模式
InputStreamReader和OutputStreamWriter是从byte流到char流的适配。
InputStream原始流处理器中的适配器模式
1. ByteArrayInputStream继承了InputStream的接口,而封装了一个byte数组。换言之,它将一个byte数组的接口适配成InputStream流处理器接口。
2. FileInputStream继承了InputStream的接口,同时持有一个对FileDescription的引用。这是一个将FileDescription对象适配成InputStream类型的对象形式的适配器模式。
3. StringBufferInputStream继承了InputStream的接口,同时持有一个对String对象的引用。这个是将String对象适配成InputStream类型的对象形式的适配器模式。
……OutputStream中的适配器模式同上类似。
Reader原始流处理器中的适配器模式
1. CharArrayReader将一个char数组适配成一个Reader类型的输入流。
2. StringReader继承了Reader类型,持有一个对String对象的引用。它将String类型的接口适配成Reader类型的接口。
……Writer中的适配器模式同上类似。
参考书籍:Java与模式
- 大小: 31.3 KB
- 大小: 36.3 KB
分享到:
相关推荐
在Java中,适配器模式扮演着重要的角色,尤其在处理遗留代码或者第三方库集成时,能够有效地解决接口不匹配的问题。本文将深入探讨适配器模式的概念、类型、优点和如何在Java中实现。 一、适配器模式概念 适配器...
标题“设计模式之适配器Adapter”暗示我们将深入探讨适配器模式的核心概念和应用场景。适配器模式通常应用于以下场景: 1. 当系统中存在一个已经存在的类,其接口不符合新需求时,可以使用适配器模式来调整接口,使...
### Java设计模式之适配器模式详解 #### 引言 在软件开发中,我们经常遇到需要使用已有的类库,但这些类库的接口与我们的需求不匹配的情况。这时,适配器模式(Adapter Pattern)便能派上用场。适配器模式是一种...
文件列表中的"adapter"可能包含了适配器模式的Java源代码文件,这些文件通常会包含以上提到的三个角色的定义。例如,可能会有`Target.java`(目标接口),`Adaptee.java`(被适配者类),以及`Adapter.java`(类...
在Java中,适配器模式被广泛应用于解决系统间的兼容性问题,尤其是当我们需要将一个已有的类库或者对象与我们的系统接口相匹配时。汽车适配器的概念是一个具体的实例,可能指的是在汽车电子系统中,如何通过适配器来...
适配器模式是一种在软件设计中广泛使用的结构型设计模式,它的主要目的是使不兼容的接口之间能够进行通信。...适配器模式是Java开发者必备的设计模式之一,掌握它能帮助你更好地构建可扩展和可维护的系统。
适配器模式(Adapter Pattern)是其中的一种,它允许两个不兼容的接口之间进行通信,通过创建一个适配器类来将原有接口转换成目标接口,使得原本不能一起工作的类可以协同工作。 适配器模式分为类适配器和对象...
适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在Java中,适配器模式被广泛应用于各种场景,如文件描述符的处理和...无论是JDK的标准库还是第三方框架,适配器模式都是不可或缺的设计原则之一。
在Java中,适配器模式主要分为两种类型:类适配器模式和对象适配器模式。类适配器模式通过继承目标接口和被适配者类来实现,而对象适配器模式则通过包含被适配者对象并实现目标接口来完成适配过程。 1. 类适配器...
Java中,由于单继承的限制,通常更常用的是对象适配器模式。 适配器模式的结构主要包括三个角色: 1. 目标接口(Target):客户所期待的接口,适配器要提供这个接口。 2. 适配者(Adaptee):被适配的类,它的接口...
适配器模式(Adapter Pattern)是软件设计模式中的一种,其主要目的是解决系统中的接口不兼容问题,使得原本由于接口不匹配而无法一起工作的类能够协同工作。在本文中,我们将深入探讨适配器模式的概念、结构、作用...
在Java中,适配器模式(Adapter Pattern)通常用于使接口不兼容的类能够协同工作。它分为类适配器(通过继承实现)和对象适配器(通过组合实现)两种主要形式。然而,由于Java不支持多继承,类适配器通常通过实现一...
在"适配器模式.docx"文档中,可能详细介绍了适配器模式的概念、结构、优缺点以及适用场景,并通过具体的Java代码示例展示了如何实现适配器模式。这些示例可能包括类适配器和对象适配器两种形式,展示如何在实际项目...
在软件设计领域,设计模式是一种经过时间和实践验证的解决方案,用于解决常见的...这个"设计模式之适配器模式与外观模式demo"资源为学习和实践这两种模式提供了宝贵的实例,对于提升编程技能和设计思维具有积极意义。
适配器模式(Adapter Pattern)是软件设计模式中的一种,其主要目的是解决接口不兼容问题,使得原本因为接口差异无法协同工作的类能够协同工作。在Java中,适配器模式通常分为类的适配器模式和对象的适配器模式。 ...
在Java中,适配器模式主要通过接口或者抽象类来实现,以达到在不修改现有代码的基础上,使得原本无法一起工作的类协同工作。 适配器模式主要有两种实现形式:类适配器模式和对象适配器模式。类适配器模式是通过继承...
java常用设计模式-适配器模式 适配器模式(Adapter Pattern)是一种结构型设计模式,它允许不兼容的接口之间进行通信。这种模式可以在不修改现有代码的情况下重用现有类,并且可以使不兼容的接口之间进行通信。 ...