将一个类的接口转换成客户希望的另外一个接口,使原本由于接口不兼容而不能在一起工作的类可以一起工作
Adaptee.java
package com.gary.designpattern.adapter;
/**
* 需要适配的目标
* @author gary
*
*/
public interface Adaptee {
public void doSomethingSpecial();
}
AdapteeImpl.java
package com.gary.designpattern.adapter.impl;
import com.gary.designpattern.adapter.Adaptee;
/**
* 需要适配的类
* @author gary
*
*/
public class AdapteeImpl implements Adaptee{
@Override
public void doSomethingSpecial(){
System.out.println("do something special");
}
}
Target.java
package com.gary.designpattern.adapter;
/**
* 客户所期待的接口,也可以是类
* @author gary
*
*/
public interface Target {
public void doSomething();
}
TargetImpl.java
package com.gary.designpattern.adapter.impl;
import com.gary.designpattern.adapter.Target;
/**
* 客户所期待的接口实现,也可以是类
* @author gary
*
*/
public class TargetImpl implements Target{
@Override
public void doSomething(){
System.out.println("do something");
}
}
Adapter.java
package com.gary.designpattern.adapter;
import com.gary.designpattern.adapter.impl.AdapteeImpl;
/**
* 定义一个Adaptee对象,把原接口转换成目标接口
* @author gary
*
*/
public class Adapter implements Target{
private Adaptee adaptee = new AdapteeImpl();
@Override
public void doSomething(){
adaptee.doSomethingSpecial();
}
}
Test.java
package com.gary.designpattern.adapter;
public class Test {
public static void main(String[] args) {
Target target = new Adapter();
target.doSomething();
}
}
分享到:
相关推荐
Adapter模式是一种设计模式,主要目的是解决不同接口之间不兼容的问题,使得原本无法协同工作的类能够协同工作。在本文中,我们通过一个形如"形状"的范例来讲解Adapter模式的概念和实现。 首先,我们有一个抽象基类...
Adapter模式是软件设计模式中的一种结构型模式,它在C++中的应用广泛,主要用于解决不同接口之间不兼容的问题,使得原本由于接口不匹配而无法一起工作的类能够协同工作。Adapter模式通过创建一个适配器对象,将旧的...
Adapter模式是一种结构型设计模式,它允许不兼容的类或接口之间进行通信。在软件开发中,我们常常遇到这样的情况:需要使用一个已经存在的类,但是它的接口与我们的需求不匹配,这时候Adapter模式就能派上用场。它...
例如,`InputStreamReader`是Adapter模式的一个实例,它将`InputStream`(处理字节流)适配为`Reader`(处理字符流),这样原本只能处理字节流的程序可以通过适配器使用字符流。同样,`OutputStreamWriter`则将`...
本文将深入探讨FACADE模式、Adapter模式以及Singleton和Proxy模式的基本概念、应用场景和关键要素。 首先,FACADE(外观)模式是一种接口型模式,它的主要作用是为复杂的子系统提供一个简单的接口,使得客户端无需...
【Adapter模式】 Adapter模式是一种设计模式,它允许不同接口的类之间进行通信。在Android开发中,Adapter模式常用于将数据源(如数组、列表)与视图(如ListView、GridView)进行适配,使得数据能够正确地显示在UI...
介绍24设计模式中的Adapter模式,如果使用,实例讲解,等等
Adapter模式是一种设计模式,它允许不兼容的类之间进行通信,通过创建一个适配器类作为中介,将原有接口转换成目标接口。在本练习中,我们将会深入探讨Adapter模式的原理、应用场景以及如何实现。 Adapter模式主要...
Android流式布局,支持点击、单选、多选等,适合用于产品标签等,用法采用Adapter模式,和ListView、GridView用法一样!2016/6/26号新添加初始化标签功能,使用非常简单,只要你的Adapter实现OnInitSelectedPosition...
- **适配器(Adapter)**:适配器类实现了目标接口,内部持有一个原始接口的引用或实例,负责将原始接口的调用转换为目标接口的调用。 - **客户端(Client)**:客户端使用目标接口进行操作,对适配器和原始接口一无所知...
自己总结了一个在性能和结构上都很容易理解的Adapter模式。 Adapter模式也叫适配器模式,是由GoF提出的23种设计模式的一种。Adapter模式是构造型模式之一,通过Adapter模式,可以改变已有类(或外部类)的接口...
Adapter模式,也称为适配器模式,是一种设计模式,它允许不同接口的类协同工作。在Python中,适配器模式常用于解决新旧接口不兼容的问题,通过创建一个新的类(适配器)来包装原有类(适配者),使得原本不兼容的...
《C++设计模式:Adapter模式解析与应用》 在软件工程中,设计模式是一种解决常见问题的可重用解决方案,它代表了最佳实践,并已被广泛接受。Adapter模式,也称为适配器模式,是设计模式中的一种,它允许两个不兼容...
前文说到一位用户拿着业界标准开关(一个标准的StandardSwitcher,它依赖IStandardSwitchable接口才能工作,然而目前我们的灯并不支持这个...我想来解释一下Adapter模式的要点是什么,对Adapter模式的延展,以及对Adap
在IT行业中,Adapter模式是一种设计模式,它在不同的接口之间起着桥梁的作用,允许不兼容的类协同工作。本主题将深入探讨Adapter的基础知识,帮助你理解其原理、应用场景及实现方式。 Adapter模式的主要作用是解决...