首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Adapter模式

Adapter模式 2008-10-2 作者: 张子阳 分类: 设计与模式 生活中有很多Adapter的例子。...类似这样的转接头就充当一个Adapter的作用。类似的例子还有电源的三相/两相 转接头等等。  ...Adapter模式应该是设计模式中一个轻量级的模式,实现起来也比较简单,有时候不经意中,你可能就已经实现了一个Adapter模式,只是自己没有发现而已。本文将通过一个范例介绍 Adapter模式。...Shape范例 很多编程的书籍中都喜欢使用一个Shape作为范例讲述面向对象中的继承,尽管这里我们讲述的是Adapter模式,但是并不妨碍我们也使用这个Shape的例子。考虑下面一幅关系图: ?...我们将这个包装类命名为Triangle,而这种模式或者解决类似问题的方法,就称为Adapter模式

48620

设计模式02——Adapter模式

使用继承的适配器有一个特点就是Adapter继承了Adaptee,并实现了Target,这就是三者之间的关系。...使用委托的适配器有一个特点就是Adapter拥有了Adaptee,并继承了Target抽象类,这就是三者之间的关系。...浅析适配器模式中的重要角色 适配器设计模式也是一个比较常用的设计模式之一,现对适配器设计模式中的角色进行浅析。 Target(对象) 该角色负责定义最终的需求,也就是使用适配器模式之后的最终效果。...Adapter(适配) 该角色是适配器设计模式的核心角色,他负责适配Adaptee和Target,使得Adaptee来满足Target的需求。...适配器设计模式UML类图 分析完适配器设计模式的重要角色,当然也得理清适配器设计模式的UML类图。 使用继承的适配器设计模式类图 ? 使用委托的适配器设计模式类图 ?

45420
您找到你想要的搜索结果了吗?
是的
没有找到

详解设计模式-Adapter模式

Adapter模式 2.示例程序1(使用继承的适配器) 类图 Banner类 Print接口 PrintBanner类 Main类 运行结果 1....Adapter模式 如果想让额定工作电压是直流12V的笔记本电脑在交流100V的AC电源下工作,应该怎么做呢?通常,我们会使用AC适配器,将家庭用的100V电压转换成我们需要的12V电压。...这种用于填补“现有的程序”和“所需的程序”之间差异的设计模式就是Adapter模式Adapter模式也被称为Wrapper模式。...Adapter模式有两种: 类适配器模式(使用继承的适配器) 对象适配器模式(使用委托的适配器) 2.示例程序1(使用继承的适配器) 这是一段会将输入的字符串显示为(Hello)或者*Hello*的简单程序

37920

设计模式日记 Adapter

muggle 源码日记之适配器模式Adapter) 适配器模式(Adapter Pattern) :将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper...适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。...模式结构 适配器模式包含如下角色: Target:目标抽象类 Adapter:适配器类 Adaptee:适配者类 Client:客户类 源码导读 我们都知道springMVC就用到了适配器模式,那他是怎么适配呢...因此,这里的适配器模式还不是特别的纯粹,还结合了反射机制。DispatcherServlte属于客户端,我们的 Controller属于被适配的类, HandlerAdapter属于适配器。...Adapter结尾

21710

适配器模式Adapter模式)详解

模式的定义与特点 适配器模式Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。...模式的结构 适配器模式Adapter)包含以下主要角色。 目标(Target)接口:当前系统业务所期待的接口,它可以是抽象类或接口。...程序的运行结果如下: 对象适配器模式测试: 适配者中的业务代码被调用! 模式的应用实例 【例1】用适配器模式Adapter)模拟新能源汽车的发动机。...模式的应用场景 适配器模式Adapter)通常适用于以下场景。 以前开发的系统存在满足新系统功能需求的类,但其接口同新系统的接口不一致。...模式的扩展 适配器模式Adapter)可扩展为双向适配器模式,双向适配器类既可以把适配者接口转换成目标接口,也可以把目标接口转换成适配者接口,其结构图如图 4 所示。

46540

适配器模式(Adapter)

意图 适配器模式是一种结构型模式,它能使接口不兼容的对象能够相互合作。 问题 假如你正在开发一款股票市场监测程序,它会从不同来源下载 XML 格式的股票数据,然后向用户呈现出美观的图表。...适配器模式通过封装对象将复杂的转换过程隐藏于幕后。被封装的对象甚至察觉不到适配器的存在。例如,你可以使用一个将所有数据转换为英制单位(如英尺和英里)的适配器封装运行于米和千米单位制中的对象。...适配器(Adapter)是一个可以同时与客户端和服务交互的类:它在实现客户端接口的同时封装了服务对象。适配器接受客户端通过适配器接口发起的调用,并将其转换为适用于被封装服务对象的调用。...class Adapter : ITarget { private readonly Adaptee _adaptee; public Adapter(Adaptee...参考原文:适配器设计模式

25440

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

模式意图   如果已经有了一种类,而需要调用的接口却并不能通过这个类实现。因此,把这个现有的类,经过适配,转换成支持接口的类。   换句话说,就是把一种现有的接口编程另一种可用的接口。   ...模式结构   【类的适配器】 ?   Target 目标接口   Adaptee 现有的类   Adapter 中间转换的类,即实现了目标接口,又继承了现有的类。...18 public class test { 19 public static void main(String[] args){ 20 Target tar = new Adapter...implements Target{ 15 private Adaptee adaptee; 16 public Adapter(Adaptee adaptee){ 17...(这个没理解,以后慢慢琢磨)   生活中的设计模式   俗话说,窈窕淑女君子好逑,最近看跑男,十分迷恋Baby。 ?   但是,如果桃花运浅,身边只有凤姐,那么也不需要担心。 ?

423100

『设计模式』适配器模式(Adapter)

适配器模式(Adapter) 适配器模式把一一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。...这就带来了一个问题:我们在应用程序中已经设计好了接口,与这个第三方提供的接口不一致,为了使得这些接口不兼容的类(不能在-起工作)可以在一起工作,Adapter模式提供了将一个类(第三方库)的接口转化为客户...由于Adapter与Adaptee是委派(组合)关系,这决定了这个适配器模式是对象的。 目标(Target)角色这是客户所期待的接口。目标可以是具体的或抽象的类也可以是接口。...实现要点 Adapter模式主要应用于“希望复用一些现存的类,但是接口又与复用环境要求不一致的情况”,在遗留代码复用、类库迁移等方面非常有用。...Adapter模式有对象适配器和类适配器两种形式的实现结构 类适配器采用“多继承”的实现方式带来了不良的高耦合,所以一般不推荐使用。 对象适配器采用“对象组合”的方式,更符合松耦合精神。

67120

适配器模式Adapter

1.模式的定义: 将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作。...适配器模式的分类: 通过继承实现Adapter (继承Adaptee)—类适配器 通过委让实现Adapter (包含Adaptee对象)—对象适配器 结构图: ? 2.模式的UML图 ?...研磨设计模式 转接线可以把电源的接口适配成为新的硬盘所需要的接口,转接线的角色就是适配器(Adapter) 适配器模式的定义:将一个类的接口转换成客户希望的另外一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作...适配器模式的本质:转换匹配,复用功能。 对象适配器和类适配器的权衡: 1. 类适配器使用类继承的方式,对象适配器使用对象组合的方式 2....1)缺省适配器 缺省适配(Default Adapter)模式为一个接口提供缺省实现,这样子类型可以从这个缺省实现进行扩展,而不必从原有接口进行扩展。

29230

Java适配器模式(adapter)

本文介绍下java设计模式中的适配器模式 适配器模式 什么是适配器模式   将一个类的接口转换成客户希望的另外一个接口。...Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 模式中的角色 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象 的类,也可以是接口。...适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成 目标接口 适配器的实现方式 ?...void handleReq(); } 适配器类 /** * 适配器 (类适配器方式) * (相当于usb和ps/2的转接器) * @author 波波烤鸭 * */ public class Adapter...JavaSE中使用到适配器模式的场景 java.io.InputStreamReader(InputStream) java.io.OutputStreamWriter(OutputStream) ~适配模式比较简单

1K40

精读《设计模式 - Adapter 适配器模式

Adapter(适配器模式Adapter(适配器模式)属于结构型模式,别名 wrapper,结构性模式关注的是如何组合类与对象,以获得更大的结构,我们平常工作大部分时间都在与这种设计模式打交道。...Adapter 模式使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作。 这个设计模式的意图很好懂,就是把接口不兼容问题抹平。注意,也仅仅能解决接口不一致的问题,而不能解决功能不一致的问题。...这样就可以通过适配器满足 Adapter 的意图: 意图:将一个类的接口转换成客户希望的另一个接口。Adapter 模式使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作。...结构图 适配器的实现分为继承与组合模式。 下面是名词解释: Adapter 适配器,把 Adeptee 适配成 Target。 Adaptee 被适配的内容,比如不兼容的接口。...要被适配的类方法叫 sayHello sayHello() { console.log('hello') } } // 适配器继承 Adaptee 并实现 ITarget class Adapter

30720

「聊设计模式」之适配器模式Adapter

适配器模式Adapter)可以在不改变原有系统的基础上,将新需求的接口转换为旧系统的接口,实现两者之间的兼容性。...模式结构  适配器模式Adapter Pattern)是一种结构型设计模式,它允许将不兼容的对象封装到一个适配器中,以使其与另一个对象相兼容。...优缺点优点适配器模式Adapter)的优点:可以让两个不兼容的接口协同工作;可以让客户端使用已经存在的类而不需要修改其代码;可以提高代码的复用性和灵活性。...缺点适配器模式Adapter)的缺点:增加了代码的复杂度;需要进行额外的编码工作;如果适配器类过多,会导致系统难以维护。在不适当的情况下使用适配器模式可能会导致代码难以理解和调试。...public class Adapter implements NewService { private OldServiceImpl oldServiceImpl; public Adapter

24363

3.设计模式--适配器模式(adapter模式)

1.场景 适配器模式可能是开发人员用的最多的一种设计模式,做后台开发你可能每天都在使用。...适配器模式分为2种,类适配器(使用继承)和对象适配器(使用委托) 2.类适配器结构图 3.实现适配器模式 AlternatingCurrent相当于交流电,他有两个抽象方法,输出高电压和低电压。...Adapter相当于就是适配器,他的作用就是将交流电转换为直流电,供手机充电使用。...Adapter通过实现交流电的方法,继承直流电,然后进行包装将交流电变成12V或者6V电压 测试结果如下,可以看到使用适配器进行转换的时候能够将交流电转换为12V的直流电或者6V的直流电。...Adapter作为适配器,将交流电转换为直流电,相比类适配器,我们使用的是委托,也就是在Adapter定义了一个直流电的成员变量。这样就能解决适配器不能转无线电了。

78520
领券