理解适配器模式

  *.类适配器模式和对象适配器模式最大的区别在于:对象适配器模式中适配器和适配者之间是关联关系,而类适配器模式中适配器和适配者是继承关系

一、对象设配器模式

  关键点:适配器需要继承目标类,这样才符合里氏代换原则。

  

关键代码:

  class Adapter extend Target{//集成Target。Target t = new Adapter();即可获得适配器

  private Adaptee adaptee;//引入适配者

  public void request(){

    adaptee.method();//调用适配者的功能。

  }

}

二、类设配器模式

  关键点:当目标类不是抽象的接口时,在java中不太适合使用类设配器。

  关键代码:

  class Adapter extend Adaptee implements Target{

  public void request(){

    method();

  }

}

时间: 2024-10-29 10:46:49

理解适配器模式的相关文章

用最简单的例子理解适配器模式(Adapter Pattern)

中国足球的水平虽然不高,但实际上,在每个城市会有一批足球爱好者,他们踢球.看球.懂球.有这样的2个足球爱好者,一个是左脚选手,另一个是右脚选手. public class PlayWithLeft { public void Play() { Console.WriteLine("我是左脚选手"); } } public class PlayWitRight { public void Play() { Console.WriteLine("我是右脚选手"); }

简单理解适配器模式

解决的问题:代码低耦合的方式使两个不兼容的接口在一起使用 原则:不改变原始程序 原始接口不要轻易改,改掉后会导致一些业务逻辑和方法不能用 简单示例: 需求:需要将两个对象中的方法传入isBrowser中,但两个对象中的方法名改变会使得某些业务逻辑不可用 var google={ show:function(){ console.log('我是浏览器') } } var baidu={ display:function(){ console.log('我是浏览器') } } var baiduAd

跟着实例学习设计模式(8)-适配器模式adapter(结构型)

适配器模式属于结构型设计模式 设计意图:将一个类的接口转换成客户希望的另外一个接口.A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 该模式正如名字一样适配器,就是为了能使之前的老接口可以焕发青春的模式,使用一个新的接口把已经存在的接口发布出去. 这样的设计模式,我们一版在企业信息化升级时会经常使用,有些企业存在的老接口经常不能对外接收数据,而重构又成本太高,那就只能使用适配器模式了,将老接口重新包装发布. 当然也有设计时就会使用的时候,大家可能不相信,不

设计模式总结篇系列:适配器模式(Adapter)

网上看到不少关于适配器模式的讲解,其中对于适配器模式解释的过于专业,一时不是特别理解适配器模式到底是用来干嘛的,具体的适用场景在哪,其最精髓的地方到底在哪. 本文结合自己的理解,阐述下对适配器模式的看法. 假设系统存在一个现有的类UserInfo: 1 class UserInfo { 2 3 private Map<String, String> userBaseInfo; 4 5 public Map getUserBaseInfo() { 6 return userBaseInfo; 7

&quot;围观&quot;设计模式(11)--结构型之适配器模式(Adapter Pattern)

在设计模式中,适配器模式(英语:adapter pattern)有时候也称包装样式或者包装(wrapper).将一个类的接口转接成用户所期待的.一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中.----WIKIPEDIA 个人理解 适配器模式:将两个不一致或者说无法直接使用的类或者接口通过适配器模式进行兼容,使得他们可以在一块使用.适配器模式在之前的项目中我是用于处理数据的不兼容的,对方的数据和我们的数据格式不完全一致,包括,类型的不一致和内容的

自己动手写一个iOS 网络请求库的三部曲[转]

代码示例:https://github.com/johnlui/Swift-On-iOS/blob/master/BuildYourHTTPRequestLibrary 开源项目:Pitaya,适合大文件上传的 HTTP 请求库:https://github.com/johnlui/Pitaya 本系列文章中,我们将尝试使用 NSURLSession 技术构建一个自己的网络请求库. NSURLSession 简介 NSURLSession 是 iOS7 引入的新网络请求接口,在 WWDC2013

&quot;围观&quot;设计模式(30)--结构型设计模式总结(适配器、代理、装饰、外观、桥梁、组合、享元)

设计模式代码下载地址 设计模式代码下载地址 1  适配器模式 在设计模式中,适配器模式(英语:adapter pattern)有时候也称包装样式或者包装(wrapper).将一个类的接口转接成用户所期待的.一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中.----WIKIPEDIA 个人理解 适配器模式:将两个不一致或者说无法直接使用的类或者接口通过适配器模式进行兼容,使得他们可以在一块使用.适配器模式在之前的项目中我是用于处理数据的不兼容的,对

菜鸟版JAVA设计模式—从买房子看代理模式

今天学习了代理模式. 相对于适配器模式,或者说装饰器模式,代理模式理解起来更加简单. 代理这个词应该比较好理解,代替去做就是代理. 比如,我们买卖房子,那么我们会找中介,我要卖房子,但是我们没有时间去卖,我主动交给中介,中介会帮我发布,会帮我找买家,带买家看房,最后我只要收到钱就行了. 买家的目的:卖房拿钱..卖加最终的目的就是把房子换成钱. 中介的工作:收集房产信息,发布房产信息,等买家打电话来,带买家看房,买家看中了,付钱给中介,中介办理过户手续,过户成功,抽掉自己的佣金,付钱给卖家. 卖家

深入理解JavaScript系列(39):设计模式之适配器模式

介绍 适配器模式(Adapter)是将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口(方法或属性),适配器模式使得原本由于接口不兼容而不能一起工作的那些类(对象)可以一些工作.速成包装器(wrapper). 正文 我们来举一个例子,鸭子(Dock)有飞(fly)和嘎嘎叫(quack)的行为,而火鸡虽然也有飞(fly)的行为,但是其叫声是咯咯的(gobble).如果你非要火鸡也要实现嘎嘎叫(quack)这个动作,那我们可以复用鸭子的quack方法,但是具体的叫还应该是咯咯的,此时,