`
ruvuoai
  • 浏览: 95946 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java与模式:适配器模式

阅读更多
Java与模式:适配器模式

目的:
将一个类的接口转换成客户希望的另外一个接口。A d a p t e r 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

意图:
# 你想使用一个已经存在的类,而它的接口不符合你的需求。
# 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
# (仅适用于对象A d a p t e r )你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。

(目的和意图是不变的,摘自《设计模式迷你手册》电子版)

下面是一个Java版的示例

一、原理图:

二、示例代码
/**
* Created by IntelliJ IDEA.
* User: leizhimin
* Date: 2008-8-2 14:43:46
* 源角色
*/
public class Adaptee {
    public int get220v(){
       return 220;
    }
}
 
/**
* Created by IntelliJ IDEA.
* User: leizhimin
* Date: 2008-8-2 14:43:23
* 目标角色
*/
public interface Target {
    int get110v();
    int get220v();
}
 
/**
* Created by IntelliJ IDEA.
* User: leizhimin
* Date: 2008-8-2 14:43:07
* 适配器角色:扩展源角色,实现目标角色,从而使得目标角色改动时候,不用改动源角色,只要改动适配器
*/
public class Adapter extends Adaptee implements Target{
    public int get110v(){
        return 110;
    }
}
 
/**
* Created by IntelliJ IDEA.
* User: leizhimin
* Date: 2008-8-2 15:00:31
* 客户端
*/
public class Client {
    public static void main(String rags[]) {
        new Client().test();
    }

    public void test() {
        Target target = new Adapter();
        int v1 = target.get110v();
        int v2 = target.get220v();
    }
}


适配器通过扩展源角色,同时实现目标接口,从而满足了同时提供220v,110v电压的要求。

本文出自:http://lavasoft.blog.51cto.com/62575/90767
分享到:
评论

相关推荐

    java设计模式之适配器模式

    在Java中,适配器模式扮演着重要的角色,尤其在处理遗留代码或者第三方库集成时,能够有效地解决接口不匹配的问题。本文将深入探讨适配器模式的概念、类型、优点和如何在Java中实现。 一、适配器模式概念 适配器...

    实验七:适配器模式.rar

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在本实验中,我们将深入探讨适配器模式的概念、应用场景以及如何在实际编程中实现它。适配器模式通常分为类适配器和对象适配器两种形式。 ...

    JAVA设计模式(抽象类与适配器模式)

    今天我们要探讨的是JAVA设计中的两个重要模式:抽象类与适配器模式。 首先,我们来理解一下“抽象”。抽象是面向对象编程的核心概念之一,它帮助我们处理对象的复杂性。在Java中,抽象通常通过抽象类来实现。抽象类...

    JAVA设计模式之适配器模式.docx

    - 接口的适配器模式:在Java中,通过定义一个空的接口实现类,然后由适配器类继承这个空的实现类,以满足Target接口的要求。这种方式在Java中不常见,因为Java支持多重继承,通常可以直接实现Target接口。 5. 具体...

    第十六讲:适配器模式

    在软件工程中,当系统中存在一个已经存在的组件或者第三方库,但其接口与我们新设计的系统不匹配时,适配器模式就显得尤为重要。适配器模式通过创建一个新的类(适配器类)来包装原有接口,从而使得新系统能够调用...

    Java 23种设计模式10适配器模式.pdf

    #### 适配器模式:桥梁的角色 适配器模式是结构型模式的一种,其核心思想是将一个类的接口转换为客户期望的另一个接口。在软件开发中,经常会遇到现有类的接口不符合需求的情况,尽管该类的功能满足了客户类的需求...

    Java设计模式之适配器模式

    ### Java设计模式之适配器模式详解 #### 引言 在软件开发中,我们经常遇到需要使用已有的类库,但这些类库的接口与我们的需求不匹配的情况。这时,适配器模式(Adapter Pattern)便能派上用场。适配器模式是一种...

    设计模式之适配器模式Java实现和类设计图

    在这个Java实现中,我们将深入探讨适配器模式的两大类型:类适配器模式和对象适配器模式,并通过具体的代码示例和UML类图来阐述其工作原理。 首先,我们来理解适配器模式的基本概念。适配器模式就像现实生活中的...

    【Java设计模式-源码】Java 中的适配器模式:无缝集成不兼容系统

    在 Java 开发中,适配器模式(Adapter Pattern)是一种非常有用的结构型设计模式,它可以帮助我们解决接口不兼容的问题,实现不同类之间的无缝集成。本文将详细介绍适配器模式的意图、解释、编程示例、适用场景、...

    java设计模式之适配器模式.zip

    在Java编程中,适配器模式能够帮助我们复用已有的类,或者解决新旧系统之间的接口不匹配问题,从而提高代码的可重用性和灵活性。 适配器模式主要有两种形式:类适配器模式和对象适配器模式。在类适配器模式中,...

    java设计模式;适配器模式(类)

    适配器模式(Adapter Pattern)是其中的一种,它允许两个不兼容的接口之间进行通信,通过创建一个适配器类来将原有接口转换成目标接口,使得原本不能一起工作的类可以协同工作。 适配器模式分为类适配器和对象...

    java 动态代理模式 适配器模式

    Java动态代理模式与适配器模式是两种在软件设计中常用的设计模式,它们都有各自的优点和应用场景。在Java中,动态代理模式主要依赖于Java的反射API和InvocationHandler接口,而适配器模式则用于解决不同接口之间的...

    设计模式之适配器模式

    1. 类适配器模式: 在类适配器模式中,适配器类是被适配者类的子类。适配器类实现了目标接口,然后在适配器类中通过重写被适配者类的方法,将其转换为目标接口所需的方法。这种方式的好处在于只需要一个适配器类就...

    java 23种设计模式.zip

    2.结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 4.行为型模式:模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略...

    java中适配器模式案例

    在"适配器模式.docx"文档中,可能详细介绍了适配器模式的概念、结构、优缺点以及适用场景,并通过具体的Java代码示例展示了如何实现适配器模式。这些示例可能包括类适配器和对象适配器两种形式,展示如何在实际项目...

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

    网上关于JAVA的适配器模式例子有很多,但真的有少实在不怎么样,看也不懂。自己总结了一个在性能和结构上都很容易理解的Adapter模式。  Adapter模式也叫适配器模式,是由GoF提出的23种设计模式的一种。Adapter...

    设计模式-适配器模式(讲解及其实现代码)

    1. 类适配器模式:适配器类继承自原始接口或类,并实现新的目标接口。这种方式适用于目标接口和原始接口都是类的情况,但缺点是如果原始接口有多个,继承会导致类层次复杂。 2. 对象适配器模式:适配器类包含一个...

    23种设计模式--适配器模式

    在实际开发中,适配器模式与其他设计模式如装饰器模式、桥接模式等经常结合使用,以达到更好的效果。理解并熟练运用适配器模式,能帮助开发者解决接口不兼容的问题,提高代码的可维护性和可扩展性。

Global site tag (gtag.js) - Google Analytics