`
gary0416
  • 浏览: 333522 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Adapter模式

阅读更多

将一个类的接口转换成客户希望的另外一个接口,使原本由于接口不兼容而不能在一起工作的类可以一起工作

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();
	}
}

 

1
10
分享到:
评论
2 楼 minglong2046 2014-06-09  
lz太牛了,我要找的东西,在这都有
1 楼 eric_shi 2011-02-11  
lz 头像很可爱 文章很简言易懂

相关推荐

    设计模式之Adapter模式和代码实现

    Adapter模式是一种设计模式,主要目的是解决不同接口之间不兼容的问题,使得原本无法协同工作的类能够协同工作。在本文中,我们通过一个形如"形状"的范例来讲解Adapter模式的概念和实现。 首先,我们有一个抽象基类...

    C++ Adapter 模式

    Adapter模式是软件设计模式中的一种结构型模式,它在C++中的应用广泛,主要用于解决不同接口之间不兼容的问题,使得原本由于接口不匹配而无法一起工作的类能够协同工作。Adapter模式通过创建一个适配器对象,将旧的...

    ②设计模式之Adapter模式

    Adapter模式是一种结构型设计模式,它允许不兼容的类或接口之间进行通信。在软件开发中,我们常常遇到这样的情况:需要使用一个已经存在的类,但是它的接口与我们的需求不匹配,这时候Adapter模式就能派上用场。它...

    Java-从Decorator,Adapter模式看Java/IO

    例如,`InputStreamReader`是Adapter模式的一个实例,它将`InputStream`(处理字节流)适配为`Reader`(处理字符流),这样原本只能处理字节流的程序可以通过适配器使用字符流。同样,`OutputStreamWriter`则将`...

    设计模式1,FACADE模式,Adapter

    本文将深入探讨FACADE模式、Adapter模式以及Singleton和Proxy模式的基本概念、应用场景和关键要素。 首先,FACADE(外观)模式是一种接口型模式,它的主要作用是为复杂的子系统提供一个简单的接口,使得客户端无需...

    Adapter模式实战之重构鸿洋集团的Android圆形菜单建行

    【Adapter模式】 Adapter模式是一种设计模式,它允许不同接口的类之间进行通信。在Android开发中,Adapter模式常用于将数据源(如数组、列表)与视图(如ListView、GridView)进行适配,使得数据能够正确地显示在UI...

    设计模式之适配器模式(Adapter模式)

    介绍24设计模式中的Adapter模式,如果使用,实例讲解,等等

    Adapter模式练习

    Adapter模式是一种设计模式,它允许不兼容的类之间进行通信,通过创建一个适配器类作为中介,将原有接口转换成目标接口。在本练习中,我们将会深入探讨Adapter模式的原理、应用场景以及如何实现。 Adapter模式主要...

    FlowTag-Android流式布局,支持点击、单选、多选,支持初始化选中标签(只针对单选和多选模式),适合用于产品标签等,用法采用Adapter模式,和ListView、G.zip

    Android流式布局,支持点击、单选、多选等,适合用于产品标签等,用法采用Adapter模式,和ListView、GridView用法一样!2016/6/26号新添加初始化标签功能,使用非常简单,只要你的Adapter实现OnInitSelectedPosition...

    Adapter(适配器模式)

    - **适配器(Adapter)**:适配器类实现了目标接口,内部持有一个原始接口的引用或实例,负责将原始接口的调用转换为目标接口的调用。 - **客户端(Client)**:客户端使用目标接口进行操作,对适配器和原始接口一无所知...

    Java优良的Adapter模式:适配器模式

    自己总结了一个在性能和结构上都很容易理解的Adapter模式。  Adapter模式也叫适配器模式,是由GoF提出的23种设计模式的一种。Adapter模式是构造型模式之一,通过Adapter模式,可以改变已有类(或外部类)的接口...

    python实现Adapter模式实例代码

    Adapter模式,也称为适配器模式,是一种设计模式,它允许不同接口的类协同工作。在Python中,适配器模式常用于解决新旧接口不兼容的问题,通过创建一个新的类(适配器)来包装原有类(适配者),使得原本不兼容的...

    C++设计模式代码资源16_Adapter.zip

    《C++设计模式:Adapter模式解析与应用》 在软件工程中,设计模式是一种解决常见问题的可重用解决方案,它代表了最佳实践,并已被广泛接受。Adapter模式,也称为适配器模式,是设计模式中的一种,它允许两个不兼容...

    小例子背后的大道理——Adapter模式详解

    前文说到一位用户拿着业界标准开关(一个标准的StandardSwitcher,它依赖IStandardSwitchable接口才能工作,然而目前我们的灯并不支持这个...我想来解释一下Adapter模式的要点是什么,对Adapter模式的延展,以及对Adap

    1-7Adapter基础讲解

    在IT行业中,Adapter模式是一种设计模式,它在不同的接口之间起着桥梁的作用,允许不兼容的类协同工作。本主题将深入探讨Adapter的基础知识,帮助你理解其原理、应用场景及实现方式。 Adapter模式的主要作用是解决...

Global site tag (gtag.js) - Google Analytics