`
nannan408
  • 浏览: 1783247 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java设计模式之Adaptor适配器(引用)

阅读更多
字号:大 中 小
Java设计模式之Adaptor适配器。

定义:将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份.

public interface IRoundPeg{
  public void insertIntoHole(String msg);

}

public interface ISquarePeg{
  public void insert(String str);

}

下面是新的RoundPeg 和SquarePeg, 除了实现接口这一区别,和上面的没什么区别。
public class SquarePeg implements ISquarePeg{
  public void insert(String str){
    System.out.println("SquarePeg insert():"+str);
  }

}

public class RoundPeg implements IRoundPeg{
  public void insertIntohole(String msg){
    System.out.println("RoundPeg insertIntoHole():"+msg);
  }
}

下面是新的PegAdapter,叫做two-way adapter:

public class PegAdapter implements IRoundPeg,ISquarePeg{

  private RoundPeg roundPeg;
  private SquarePeg squarePeg;

  // 构造方法
  public PegAdapter(RoundPeg peg){this.roundPeg=peg;}
  // 构造方法
  public PegAdapter(SquarePeg peg)(this.squarePeg=peg;)

  public void insert(String str){ roundPeg.insertIntoHole(str);}

}

还有一种叫Pluggable Adapters,可以动态的获取几个adapters中一个。


分享到:
评论

相关推荐

    适配器adaptor

    在编程领域,适配器(Adapter)模式是一种结构型设计模式,它允许两个不兼容的接口之间进行通信。在Java中,适配器模式经常被用来解决类与类之间接口不匹配的问题,使得原本无法一起工作的类能够协同工作。本教程将...

    适配器设计模式入门之一

    1.概念:将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份. 2.为何使用:我们经常碰到要将两个没有关系的类组合在一起使用,第一解决方案是:修改各自类的接口,...

    23种java版设计模式源码案例.zip

    23种java版设计模式源码案例.zip 0.目录 创建型模式(creational) 简单工厂(simplefactory) 动态工厂(dynamic) 抽象工厂(abstract) 单例模式(singleton) 建造者模式(builder) 原型模式(prototype) 结构型模式...

    二十三种设计模式【PDF版】

    设计模式之 Adapter(适配器) 使用类再生的两个方式:组合(new)和继承(extends),这个已经在 thinking in java中提到过. 设计模式之 Proxy(代理) 以 Jive 为例,剖析代理模式在用户级别授权机制上的应用 设计模式之 ...

    adaptor设计模式

    适配器设计模式是软件设计领域中的一种经典模式,它在iOS开发中也广泛应用。适配器模式的主要目的是解决系统中不同组件之间的接口不兼容问题,通过创建一个适配器对象,将原有接口转换为所需的接口,使得原本不兼容...

    51丨适配器模式:代理、适配器、桥接、装饰,这四个模式有何区别?1

    适配器模式是一种结构型设计模式,其主要目的是解决接口不兼容问题,使得原本由于接口差异无法协同工作的类能够一起工作。适配器模式通过创建一个新的类(适配器),将旧的接口转换成目标接口,从而实现了系统的解耦...

    超市管理系统java源码swing-king-design:23种java设计模式

    适配器模式(adaptor) 桥接模式(bridge) 组合模式(composite) 装饰器模式(decorate) 外观模式(facecade) 享元模式(flyweight) 代理模式(proxy) 行为型模式(behaviour) 责任链模式(chainrespon) 命令模式(commond) ...

    12种设计模式源码

    1. **适配器模式(Adaptor Pattern)**:这种模式用于将两个不兼容的接口进行适配,使得原本不能一起工作的类可以协同工作。在`adaptor`目录下的源码中,你可以看到如何通过创建一个适配器类,将旧的或第三方库的...

    http-jca-adaptor:HTTP Java 连接器架构 1.6 适配器

    #HTTP 资源适配器 此 HTTP 资源适配器是的实现,使用作为底层 HTTP 实现。 的测试框架用于针对本地嵌入式 8 实例和上的远程 8 实例执行单元测试。 #Building 和已用于开发。 要在上针对远程 WildFly 或 JBoss 实例...

    Ethernet Adaptor网卡驱动

    "Ethernet Adaptor"是网卡的一种类型,指的是遵循以太网标准的网络适配器。以太网是目前最普遍采用的局域网(LAN)技术,其基础是IEEE 802.3标准。本文将深入探讨以太网适配器的工作原理、驱动程序的作用以及如何...

    0-30 isis_switching_Adaptor_3a_

    描述“Switching adaptor 0-30 volts / 3A”进一步确认了这个适配器的规格,它是一个开关模式电源(Switching Mode Power Supply,简称SMPS),能够提供0到30伏的可调电压,并且最大电流能力为3安培。开关模式电源...

    Android开发框架M-Adaptor

    Android开发框架M-Adaptor是一款专为提升Android应用开发效率而设计的工具,其核心目标是通过利用JavaScript与Activity之间的交互,降低开发者在处理业务逻辑时的编码工作量。这个框架允许开发者用更简洁的方式实现...

    usb 2.0 10 100m ethernet adaptor驱动

    这个驱动程序是专门为USB 2.0接口设计的,允许用户通过USB端口接入10Base-T或100Base-TX(Fast Ethernet)网络。以下将详细解释相关的知识点: 1. **USB 2.0技术**:USB(通用串行总线)2.0是USB标准的一个版本,于...

    USB 2.0 10/100M Ethernet Adaptor 有线网卡驱动

    USB 2.0 10/100M Ethernet Adaptor有线网卡驱动,天蓝透明色和带线的USB网卡都适用卡,支持WIN7 32位。外接网卡,外置USB网卡驱动 平板电脑网卡驱动 以太网驱动亲测可用 USB2.0 Ethernet Adapter是USB2.0接口的...

    iterator_adaptor.pdf

    `iterator_adaptor`的设计理念是基于`iterator_facade`,一个用于构建迭代器的基类模板,它定义了迭代器的基本接口。 ### `iterator_adaptor`要求 要使用`iterator_adaptor`,你需要定义一个派生类,该派生类继承...

    USB 2.0 10/100M Ethernet Adaptor

    总结而言,USB 2.0 10/100M Ethernet Adaptor是一个为那些需要网络连接但缺少以太网接口的用户设计的设备。它的USB 2.0接口和符合IEEE标准的传输能力使它成为了一个理想的网络解决方案。安装过程简单快捷,只需解压...

    USB 2.0 10/100M Ethernet Adaptor有线网卡驱动

    2. **10/100M Ethernet**:10/100M指的是适配器支持两种速度模式,10Mbps和100Mbps,是标准以太网速度。它适用于家庭、办公室等场景,能提供稳定且足够的网络速度进行日常上网、文件传输等活动。 3. **有线网卡驱动...

    audio_adaptor

    【音频适配器audio_adaptor】是针对CSR公司Audio-Adaptor-SDKRC3.1平台设计的一款专门处理蓝牙音频传输的程序。CSR是一家知名的半导体公司,尤其在蓝牙技术领域有着深厚的积累。此项目旨在为开发者提供一个集成的...

    Qt中DBus的Adaptor-interface通讯方式

    DBus通讯方式中,设置适配器Adaptor和Interface的通讯方式比较麻烦,重点在于适配器类(Adaptor类)和接口类(Interface类)的生成,Qt有工具可以自动生成相应的类。※建议Qt中DBus通讯使用Interface-Connection方式...

Global site tag (gtag.js) - Google Analytics