`
uule
  • 浏览: 6352968 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

适配器(Adapter)模式

 
阅读更多

1.概念: 
把一个类的接口变换成客户端所希望的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。

(就是将两个类的方法组合起来,使其可以在一个类中使用!)
2.两种形式 

a.类的适配器模式 b.对象的适配器模式

http://www.iteye.com/topic/339198

http://www.iteye.com/topic/74417

 

1.概念: 
适配器模式(Adapter Pattern)把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 
2.两种形式 
a.类的适配器模式 b.对象的适配器模式 


3.模拟问题: 
现在假设我们的程序已经设计了接口Request接口,但是现在有一个特殊的接口SpecificRequst能更好的完成我们的功能,但是它和我们现有的Request接口不匹配。那我们如何将它们一起工作呢?看下面的实例: 


3.实例1:a.类的适配器模式 (继承类、实现接口)

目标角色:

  1. public interface Target {  
  2.     public void request();  
  3. }  


源角色:

  1. public class Adaptee {  
  2.     public void specificRequest(){  
  3.         System.out.println("实现所需功能");  
  4.     }  
  5. }  


适配器角色:

  1. public class ClassAdapter extends Adaptee implements Target {  
  2.       
  3.     public void request() {  
  4.         this.specificRequest();  
  5.     }  
  6. }  


用户角色:

  1. public class TestClassAdapter {  
  2.     public static void main(String args[]){  
  3.         ClassAdapter adapter = new ClassAdapter();  
  4.         adapter.request();  
  5.     }  
  6. }  

 

3.图示实例2:b.对象的适配器模式 

实例代码: 
目标角色,源角色代码不变。 
适配器角色:

  1. public class ObjectAdapter implements Target {  
  2.       
  3.     private Adaptee adaptee;  
  4.       
  5.     public ObjectAdapter(Adaptee adaptee){  
  6.         this.adaptee = adaptee;  
  7.     }  
  8.     public void request() {  
  9.         adaptee.specificRequest();  
  10.     }  
  11.   
  12. }  


用户角色:

  1. public class TestOjbectAdapter {  
  2.     public static void main(String arg[]){  
  3.         Adaptee adaptee = new Adaptee();  
  4.         ObjectAdapter adapter = new ObjectAdapter(adaptee);  
  5.         adapter.request();  
  6.     }  
  7. }  

 

分享到:
评论

相关推荐

    设计模式之 适配器 Adapter C++ 源码

    设计模式之 适配器 Adapter C++ 源码 vs2019 工具,设计模式之 适配器 Adapter C++ 源码 vs2019 工具,设计模式之 适配器 Adapter C++ 源码 vs2019 工具,设计模式之 适配器 Adapter C++ 源码 vs2019 工具,设计模式...

    设计模式之适配器Adapter

    标题“设计模式之适配器Adapter”暗示我们将深入探讨适配器模式的核心概念和应用场景。适配器模式通常应用于以下场景: 1. 当系统中存在一个已经存在的类,其接口不符合新需求时,可以使用适配器模式来调整接口,使...

    java 汽车适配器(Adapter适配器模式)

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在Java中,适配器模式被广泛应用于解决系统间的兼容性问题,尤其是当我们需要将一个已有的类库或者对象与我们的系统接口相匹配时。汽车适配器的...

    适配器(Adapter)模式

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在软件工程中,当系统中存在两种不兼容的接口或者类需要协同工作时,适配器模式可以发挥关键作用。通过适配器,我们可以复用现有的类,而无需...

    Adapter(适配器模式)

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

    设计模式——适配器模式(adapter)

    适配器模式(Adapter Pattern)是软件设计模式中的一种,其主要目的是解决系统中的接口不兼容问题,使得原本由于接口不匹配而无法一起工作的类能够协同工作。在本文中,我们将深入探讨适配器模式的概念、结构、作用...

    java设计模式之适配器模式

    适配器模式(Adapter Pattern)是通过创建一个新的对象(适配器),这个对象将原本不兼容的对象接口转换为客户端期望的接口,从而使两者能够协同工作。适配器模式可以分为类适配器和对象适配器两种类型。 1. 类...

    设计模式C++学习之适配器模式(Adapter)

    适配器模式(Adapter)是软件工程中一种常用的设计模式,它允许两个不兼容的接口之间进行通信。在C++编程中,适配器模式能够帮助我们复用现有的类,或者将第三方库的接口与我们的系统接口进行对接,从而提高代码的可...

    安卓万能适配器Adapter

    "安卓万能适配器Adapter"的概念旨在提供一种通用的解决方案,减少开发者编写重复代码的时间,提高开发效率。这个适配器设计是基于面向对象编程原则,允许我们灵活地将各种数据类型与视图元素进行绑定。 首先,我们...

    PHP设计模式(五)适配器模式Adapter实例详解【结构型】

    适配器模式(Adapter Pattern)是一种结构型设计模式,它主要解决的是接口不兼容的问题,使得原本由于接口差异无法一起工作的类能够协同工作。在PHP中,适配器模式通过创建一个包装类(适配器类)来转换不兼容的接口...

    通用的adapter适配器

    - Adapter是Android系统提供的一种设计模式,用于将数据源(如ArrayList)与UI组件(如ListView)进行连接。它允许开发者将数据转换为列表项视图,并负责在用户界面中显示这些数据。 2. **通用适配器的必要性**:...

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

    文件列表中的"adapter"可能包含了适配器模式的Java源代码文件,这些文件通常会包含以上提到的三个角色的定义。例如,可能会有`Target.java`(目标接口),`Adaptee.java`(被适配者类),以及`Adapter.java`(类...

    ASP.NET的适配器设计模式(Adapter)应用详解

    在这个例子中,`PowerAdapter` 通过继承 `Light` 类实现了类适配器模式,这样可以利用继承带来的多态性。同时,适配器也通过内部持有 `Light` 对象实现了对象适配器模式,通过委托调用来实现接口的转换。 测试这些...

    设计模式之适配器模式

    2. 适配器(Adapter)类:这是适配器模式的核心,它实现了目标接口,并持有对适配者对象的引用。适配器类负责将适配者的接口转换为目标接口。 3. 适配者(Adaptee)类:这是需要适配的原始接口或类,它的接口与目标...

    ListView的自定义适配器Adapter

    为了使ListView显示的数据更加丰富多样,我们通常需要自定义适配器(Adapter)。本文将深入探讨如何创建和使用ListView的自定义适配器,以及它的工作原理。 首先,我们要理解适配器在ListView中的角色。适配器是...

    c++-设计模式之适配器模式(Adapter Pattern)

    适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将一个接口转换为客户端期望的另一个接口。适配器模式常用于解决由于接口不兼容而无法正常工作的类之间的协作问题。 适配器模式的组成 目标接口(Target...

    设计模式 - 适配器模式(C++实例)

    在`DesignMode_Adapter`这个压缩包文件中,可能包含了相关的C++源码示例,演示了如何创建和使用适配器模式。这些源码可能包括了目标接口、原始接口、适配器类的定义以及客户端如何通过适配器进行调用的示例。通过...

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

    3. 适配器(Adapter):实现了目标接口,并持有对适配者的引用,负责将适配者接口转换为客户期望的目标接口。 适配器模式的优点: 1. 增强了类的复用性,可以利用已有的类进行扩展,而不必修改原有代码。 2. 提高了...

    第9讲_适配器模式(Adapter)

    适配器模式是一种设计模式,它允许不兼容的类或接口之间进行通信和协作。这种模式的核心在于创建一个适配器类,该类将原始类(Adaptee)的接口转换为客户期望的目标接口(Target)。适配器模式分为基于类的适配器...

Global site tag (gtag.js) - Google Analytics