`
heiren3821
  • 浏览: 6535 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

适配器模式

阅读更多
参考书籍: 阎老师的 《java与模式》
网络文章:《追mm与java的23个模式》www.linuxmine.com/44779.html 

标题:适配器模式
----------------------------------------我是分割线--------------------------------------------------
定义:把一个类的接口变换成客户端所期待的另外一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作

适配器模式主要是两种实现:
1.基本类的实现  也就是通过继承来实现
这种实现里面有三个元素
1.目标 也就是最终要实现的方面  这里主要是接口
2.源 提供目标接口里面的实现  可以是全部 也可以使部分 但是一定是和适配器互补
3.适配器.实现目标里面的所有实现 如果自己没有 继承源类的实现

所以从上可以 这种实现是基于类的继承来实现的 所以叫作基于类的实现

2基于对象的实现 也就是通过聚合来实现
1.目标 和类的实现是一样 接口
2.源 和类的实现一样 类 对于接口的方面部分实现
3.适配器  实现目标里面的实现  如果没有 通过使用源来实现  但是此时的源是适配器的一部分

所以此种是基于对象的实现,

从以上连个分析可以看出 适配器模式的两种实现 主要是适配器自己的不同  如果是继承源类就是基于类的实现
如果是聚合源对象  就是一种对象的实现

在实际的使用中 个人觉得基于对象的使用的比较多 这个也和java的尽量使用 聚合不要使用继承的思想一致

----------------------------------我是分割线--------------------------------------------------------
带过:缺省适配器模式
1.目标:一个有很多定义功能的接口
2.适配器 一个类实现接口的所有方法 部分实现平庸实现 往往这个类一个抽象方法


出来这个原因: 主要应用有这种需求 一个类(适配器)只想实现目标的部分方法,而其他的方法都只能通过平庸实现来解决

个人觉得 这种是非常不好的 也是没有办法的办法
阎老师在书中说到:在什么情况下使用此模式
"在任何时候 如果不准备实现一个接口的所有方法的时候,就可以使用该适配器 制造一个抽象类,给出所有的方法的平庸的具体实现。这样 从这个抽象类继承下去的子类就不必实现所有的方法了。“
”适配器模式的“平庸化”模式可以使所考察的类不比实现不需要的那部分接口"
----------无敌分割线--------------------
引用:
6、ADAPTER―在朋友聚会上碰到了一个美女Sarah,从香港来的,可我不会说粤语,她不会说普通话,只好求助于我的朋友kent了,他作为我和Sarah之间的Adapter,让我和Sarah可以相互交谈了(也不知道他会不会耍我)

适配器(变压器)模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。适配类可以根据参数返还一个合适的实例给客户端。
--------无敌分割线------------------------
此时 我的朋友kent就是适配器
此时的目标是由说普通话 和说粤语的方法
此时sarah 和我 就可以交谈了。
但是在这个里面并没有描述 采用的适配器模式的那种实现

其实 此时 我和sarah都是一个适配器 因为有kent在 
我就相当于会说普通话 又会说粤语 我和sarah都是是基于对象的适配器

-----------分割线------------------------
分享到:
评论

相关推荐

    JAVA设计模式(抽象类与适配器模式)

    今天我们要探讨的是JAVA设计中的两个重要模式:抽象类与适配器模式。 首先,我们来理解一下“抽象”。抽象是面向对象编程的核心概念之一,它帮助我们处理对象的复杂性。在Java中,抽象通常通过抽象类来实现。抽象类...

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

    在这个Java实现中,我们将深入探讨适配器模式的两大类型:类适配器模式和对象适配器模式,并通过具体的代码示例和UML类图来阐述其工作原理。 首先,我们来理解适配器模式的基本概念。适配器模式就像现实生活中的...

    设计模式之适配器模式

    适配器模式是一种常用的设计模式,它在软件工程中扮演着重要的角色,特别是在解决系统间的兼容性和接口不匹配问题时。适配器模式的核心思想是将一个类的接口转换成客户希望的另一个接口,使原本由于接口不兼容而无法...

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

    适配器模式是一种常用的设计模式,它在软件工程中扮演着重要的角色,特别是在解决系统间的兼容性和接口不匹配问题时。适配器模式的核心思想是将一个类的接口转换成客户希望的另一个接口,使原本由于接口不兼容而无法...

    java 动态代理模式 适配器模式

    Java动态代理模式与适配器模式是两种在软件设计中常用的设计模式,它们都有各自的优点和应用场景。在Java中,动态代理模式主要依赖于Java的反射API和InvocationHandler接口,而适配器模式则用于解决不同接口之间的...

    java设计模式之适配器模式

    适配器模式是一种在软件工程中广泛使用的结构型设计模式,它允许两个不兼容的接口之间进行通信。在Java中,适配器模式扮演着重要的角色,尤其在处理遗留代码或者第三方库集成时,能够有效地解决接口不匹配的问题。...

    java中适配器模式案例

    适配器模式是一种设计模式,它允许不兼容的类或接口之间进行通信,通过创建一个适配器类作为中间桥梁,使得原本不匹配的接口能够协同工作。在Java中,适配器模式广泛应用于系统集成、旧代码复用以及第三方库的兼容性...

    适配器模式案例代码

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在这个案例中,我们关注的是如何通过适配器模式解决实际编程问题。文章《适配器模式案例代码》提供了具体的实现示例,链接指向了CSDN博主...

    设计模式-适配器模式(讲解及其实现代码)

    适配器模式是一种常用的设计模式,它在软件工程中扮演着重要的角色,特别是在处理系统集成、遗留代码重用以及不同接口之间兼容性问题时。适配器模式的主要目的是将两个不兼容的接口融合在一起,使得原本无法直接协作...

    适配器模式demo源码

    适配器模式是一种常用的设计模式,它在软件开发中起到了桥梁的作用,允许两个不兼容的接口之间进行通信。在这个“适配器模式demo源码”中,我们可以深入理解这一模式的实现方式及其应用场景。 适配器模式的核心思想...

    设计模式系列之适配器模式

    适配器模式是一种软件设计模式,它在不同的接口之间起到了桥梁的作用,使得原本由于接口不兼容而无法协作的类能够协同工作。这种模式的核心思想是将一个类的接口转换成客户希望的另一个接口,从而使原有类能适应新的...

    设计模式的适配器模式的例子

    适配器模式是一种常用的设计模式,它在软件工程中扮演着重要的角色,允许不同接口的类之间进行通信。适配器模式的核心思想是将一个类的接口转换成客户期望的另一个接口,使得原本由于接口不兼容而无法一起工作的类...

    实验七:适配器模式.rar

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在本实验中,我们将深入探讨适配器模式的概念、应用场景以及如何在实际编程中实现它。适配器模式通常分为类适配器和对象适配器两种形式。 ...

    适配器模式源代码

    适配器模式是一种常用的设计模式,它在软件工程中扮演着重要的角色,允许不兼容的接口之间进行通信。在这个源代码实例中,我们看到的是如何通过适配器模式来实现不同对象之间的协作,使得原本无法直接交互的系统组件...

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

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

Global site tag (gtag.js) - Google Analytics