适配器模式(Adapter)

1.定义:

  适配器模式是将一个类的接口转换成客户端希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

结构与说明:

Client:客户端,调用自己需要的领域接口Target。

Target:定义客户端需要的跟特定领域相关的接口。

Adaptee:已经存在的接口,但与客户端需要的特定领域接口不一致,需要被适配。

Adapter:适配器,把Adaptee适配成Client需要的Target。

2.代码示例

  (1)已经存在的应用接口,需要被适配的类Adaptee

 1 package com.apdater.example1;
 2 /**
 3  * 将要被适配的系统接口
 4  * @author admin
 5  *
 6  */
 7 public class Adaptee {
 8
 9     public void specificRequest(){
10
11     }
12 }

  (2)客户端特定领域的接口

1 package com.apdater.example1;
2 /**
3  * 客户端特定领域的接口
4  * @author zhaohelong
5  *
6  */
7 public interface Target {
8     public void request();
9 }

  (3)适配器

 1 package com.apdater.example1;
 2 /**
 3  * 适配器
 4  * @author admin
 5  *
 6  */
 7 public class Adapter implements Target {
 8
 9     /**
10      * 持有需要被适配的对象
11      */
12     private Adaptee adaptee;
13     /**
14      * 构造方法,传入需要被适配的对象
15      * @param adaptee
16      */
17     public Adapter(Adaptee adaptee){
18         this.adaptee=adaptee;
19     }
20     /**
21      * 处理方法
22      */
23     @Override
24     public void request() {
25         //可转调已经存在的方法进行适配
26         adaptee.specificRequest();
27     }
28
29 }

  (4)客户端的调用

 1 package com.apdater.example1;
 2
 3 public class Client {
 4     public static void main(String[] args) {
 5         //创建需要适配的对象
 6         Adaptee adaptee=new Adaptee();
 7         //创建适配器
 8         Target t=new Adapter(adaptee);
 9         //发送请求
10         t.request();
11     }
12 }

  

时间: 2024-08-24 12:30:06

适配器模式(Adapter)的相关文章

设计模式 - 适配器模式(adapter pattern) 枚举器和迭代器 详解

适配器模式(adapter pattern) 枚举器和迭代器 详解 本文地址: http://blog.csdn.net/caroline_wendy 参考适配器模式(adapter pattern): http://blog.csdn.net/caroline_wendy/article/category/2281679 Java早期版本的枚举器(Enumeration)和现在的迭代器(Iterator) 可以使用适配器(adapter)进行转换. 适配器(adapter)代码: /** *

适配器模式--Adapter Pattern

模拟场景:很多人都喜欢看NBA吧,姚明进驻NBA,打开了中国的市场.虽然后面姚明在NBA打得还不错,但是在刚进入NBA篮坛的时候,并不是那么顺利的.语言交流就是一个最大的问题.刚开始打球期间,教练及队员的战术部署姚明都无法理解,所以他需要这么一个翻译者,将教练及队员的意思转达给姚明,这样才可以进行合作. 现在进行场景的模拟,先不考虑那么多.假如姚明一开始进入NBA的时候就已经会英语,可以进行交流了.那么这个时候教练就可以进行战术的部署了. 转换成类,所有的队员都要服从教练的战术要求,假设现在教练

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

适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作. 1. 解决的问题 即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作. 2. 模式中的角色 2.1 目标接口(Target):客户所期待的接口.目标可以是具体的或抽象的类,也可以是接口. 2.2 需要适配的类(Adaptee):需要适配的类或适配者类. 2.3 适配器(Adapter):通过包装一个需要适配的对象,把

研磨设计模式解析及python代码实现——(三)适配器模式(Adapter)

一.适配器模式定义 将一个类的接口转换成另外一个接口,适配器模式使得原本由于接口不兼容,而不能在一起工作的哪些类能够在一起工作. 二.python 实现 1 import string 2 import cPickle as p 3 import datetime 4 import os 5 class LogModel: 6 logId="" 7 operateUser="" 8 operateTime="" 9 logContent=&quo

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

Adapter Pattern的作用是在不改变功能的前提下转换接口.Adapter分为两类,一类是Object Adapter, 另一类是Class Adapter.由于Class Adapter的实现需要用到多继承,而Java不支持多继承,所以这里只关注Object Adapter. 在JDK1.5之前是没有 java.util.Iterator 接口的,java.util.Enumeration 接口起着 Iterator 的作用.那么如果我们需要维护一些年代比较久远的代码,可能就会面临着没

适配器模式(adapter)c#

适配器模式(adapter)c#简单例子 结合上回外观模式中的类,从外部引入mydll.dll类库中wemanplay类,其接口有属性stringMove . stringJump和行为wemanmove().wemanjump(),采用适配器变为自己类中通用接口. 在外观模式中增加一个新类适配器 public class addplay : play//由引类wemanplay类适配为现有play类 { private wemanplay wplay;//引个已编译好的wemanplay类 p

设计模式 - 适配器模式(adapter pattern) 枚举器和迭代器 具体解释

适配器模式(adapter pattern) 枚举器和迭代器 具体解释 本文地址: http://blog.csdn.net/caroline_wendy 參考适配器模式(adapter pattern): http://blog.csdn.net/caroline_wendy/article/category/2281679 Java早期版本号的枚举器(Enumeration)和如今的迭代器(Iterator) 能够使用适配器(adapter)进行转换. 适配器(adapter)代码: /**

如何让孩子爱上设计模式 —— 7.适配器模式(Adapter Pattern)

如何让孩子爱上设计模式 -- 7.适配器模式(Adapter Pattern) 概念相关 定义: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而 使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. 简单点说: 两个彼此间没有太大关联的类,想进行交互完成某些事情,如果 直接去修改各自的接口,就显得有些繁琐了,可以加个中间类, 用它来协调两类之间的关系,完成相关业务.这种玩法就叫适配器模式! 两种适配器模式: 根据适配器类与适配者类的关系不同,适配器模式可分为 类适配器 和 对

二十四种设计模式:适配器模式(Adapter Pattern)

适配器模式(Adapter Pattern) 介绍将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 示例有一个Message实体类,某个类对它的操作有Insert()和Get()方法.现在需要把这个类转到另一个接口,分别对应Add()和Select()方法. MessageModel using System; using System.Collections.Generic; using System.Text; name

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

23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象.创建型模式有两个不断出现的主旋律.第一,它们都将关于该系统使用哪些具体的类的信息封装起来.第二,它们隐藏了这些类的实例是如何被创建和放在一起的.整个系统关于这些对象所知道的是由抽象类所定义的接口.因此,创建型模式在什么被创建,谁创建它,它是怎样被创建的,以