设计模式之适配器模式

设计模式目录
http://blog.csdn.net/fenglailea/article/details/52733435
风.fox

适配器模式 Adapter Pattern

也叫做变压器模式,也叫包装模式
将一个类的接口变换成客户端所期待的另一个接口,从而使原本接口不匹配而无法再一起工作的两个类能够在一起工作

通用类图

组成

  • 目标角色
    定义把其他类转换为何种接口,也就是我们的期望接口
  • 源角色
    你想把谁转换成目标角色
  • 适配器角色
    把源角色转换为目标角色

通用源码

JAVA

//目标角色
public interface Target{
    //目标角色有自己的方法
    public void request();
}
//目标据说的实现类
public class ConcreteTarget implements Target{
    public void request(){
         System.out.println("request");
    }
}
//源角色
public class Adaptee{
    // 原有的业务逻辑
    public void doSomething(){
        System.out.println("doSomething");
    }
}
//适配器角色
public class Adapter extends Adaptee implements Target{
    public void request(){
        super.doSomething();
    }
}
//场景
public class Client{
    public static void main(String[] args){
        //原有业务逻辑
        Target target=new ConcreteTarget();
        Target.request();
        //现在增加了适配器角色后的业务逻辑
        Target target2 =new Adapter();
        target2.request();
    }
}

优点

适配器模式可以让两个没有任何关系的类在一起运行,只要适配器这个角色能够搞定他们就成
增加了类的透明性
提高了类的复用度
灵活性非常好

使用场景

你有动机修改一个已经投产中的接口时,适配器模式可能是最适合你的模式

时间: 2024-09-30 21:05:33

设计模式之适配器模式的相关文章

PHP设计模式之适配器模式代码实例

  这篇文章主要介绍了PHP设计模式之适配器模式代码实例,本文讲解了目标.角色.应用场景.优势等内容,并给出代码实例,需要的朋友可以参考下 目标: 可将一个类的接口转换成客户希望的另外一个接口,使得原本不兼容的接口能够一起工作.通俗的理解就是将不同接口适配成统一的API接口. 角色: Target适配目标,该角色定义把其他类转换为何种接口,也就是我们的期望接口. Adaptee被适配者,就是需要被适配的接口. Adapter适配器,其他的两个角色都是已经存在的角色,而适配器角色是需要新建立的,它

C#设计模式(7)——适配器模式(Adapter Pattern)

原文:C#设计模式(7)--适配器模式(Adapter Pattern) 一.引言 在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象.那么如果将"将现存的对象"在新的环境中进行调用呢?解决这个问题的办法就是我们本文要介绍的适配器模式--使得新环境中不需要去重复实现已经存在了的实现而很好地把现有对象(指原来环境中的现有对象)加入到新环境来使用. 二.适配器模式的详细介绍 2.1 定义  下面让我

乐在其中设计模式(C#) - 适配器模式(Adapter Pattern)

原文:乐在其中设计模式(C#) - 适配器模式(Adapter Pattern)[索引页][源码下载] 乐在其中设计模式(C#) - 适配器模式(Adapter Pattern) 作者:webabcd 介绍 将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 示例 有一个Message实体类,某个类对它的操作有Insert()和Get()方法.现在需要把这个类转到另一个接口,分别对应Add()和Select()方法. Mess

【设计模式】—— 适配器模式Adapter

模式意图 如果已经有了一种类,而需要调用的接口却并不能通过这个类实现.因此,把这个现有的类,经过适配,转换成支持接口的类. 换句话说,就是把一种现有的接口编程另一种可用的接口. 模式结构 [类的适配器] Target 目标接口 Adaptee 现有的类 Adapter 中间转换的类,即实现了目标接口,又继承了现有的类. 1 package com.xingoo.test1; 2 interface Target{ 3 public void operation1(); 4 public void

PHP设计模式之适配器模式代码实例_php实例

目标: 可将一个类的接口转换成客户希望的另外一个接口,使得原本不兼容的接口能够一起工作.通俗的理解就是将不同接口适配成统一的API接口. 角色: Target适配目标,该角色定义把其他类转换为何种接口,也就是我们的期望接口. Adaptee被适配者,就是需要被适配的接口. Adapter适配器,其他的两个角色都是已经存在的角色,而适配器角色是需要新建立的,它用来对Adaptee与Target接口进行适配. 应用场景: 如数据操作有mysql.mysqli.pdo.sqlite.postgresq

设计模式之适配器模式(adaptor pattern)

1 适配器模式的定义 在设计模式中,适配器模式(英语:adapter pattern)有时候也称包装样式或者包装(wrapper).将一个类的接口转接成用户所期待的.一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中. 2 实际应用中的例子 比如我们去日本买了一个日本的电饭煲,但日本电压标准都是110V,而我们国家标准是220V,所以要想在中国用日本电饭煲,需要一个电源适配器. 比如我们有一个micro SD卡,如果我们想在笔记本上用,就需要一个读

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

 适配器模式:将一个类的接口转换成客户希望的另外一个接口.适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作.  适配器模式有类适配器模式和对象适配器模式两种不同的形式. 类适配器  类适配器模式把适配的类的API转换成目标类的API  适配器模式所涉及的角色: 目标角色(Target): 这就是所期待得到的接口. 源角色(Adaptee):需要适配的接口 适配器角色(Adapter):适配器类是本模式的核心.适配器把源接口转换成目标接口.显然,这一角色不可以是接口,而必须是具体

C++设计模式之适配器模式_C 语言

生活中的适配器 买笔记本电脑,买手机时,都有一个电源适配器,电源适配器又叫外置电源,是小型便携式电子设备及电子电器的供电电压变换设备,常见于手机,笔记本电脑上.它的作用是将家里的220V高电压转换成这些电子产品能工作的5V~20V左右稳定的低电压,使它们能正常工作.就是说,如果没有这个电源适配器,我们的手机和电脑就不能进行充电了. 之前同事去日本出差,由于工作需要,就将自己的笔记本带过去了.到了的当晚就悲剧了,笔记本无法使用.由于日本的居民用电电压是110V,而中国是220V,同事的笔记本是22

java设计模式之适配器模式_java

感谢<Android源码设计模式解析与实战> 何红辉 关爱民 著  适配器模式在我们的开发中使用率极高,从代码中随处可见的Adapter就可以判断出来,从最早的ListView.GridView.到现在最新的RecyclerView都需要使用Adapter,并且在开发中我们遇到的优化问题.出错概率较大的地方也基本都出自Adapter.  适配器是将两个不兼容的火龙融合在一起,将不同的东西通过一种转换使得它们能够协作起来,例如,经常碰到要在两个没有关系的类型之间进行交互,第一个解决方案是修改各自