`
cactus_jing
  • 浏览: 8687 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

设计模式——Adapter

阅读更多
Adapter(适配器)

Adapter顾名思义,就是使一端能够适应另一端,让他们能够成为一个整体。

面向对象系统的开发提倡的是面向接口(抽象层次)开发,之所以这样做的好处之一就是可以提高业务逻辑的重用性,而不是传统的面向实现的开发,只是但存的去复用系统中的一些算法。

那么不同的系统对外所提供的接口都不尽相同,那么为了能够将已有的组件加入到当前系统中,而该组件对外提供的接口又不能满足当前系统的要求的话,就可以采用适配器模式来将该已存组件的接口转换为可以满足当前系统的接口,从而实现加入到当前系统当中。

而适配器具体的实现方式可分为类级别的适配转换及对象级别的适配转换。类适配采用多继承的方式实现,对象适配采用组合的方式实现。二者各有裨益。

首先类适配,它的好处是实现简单,可以重写被适配的类的方法,方便扩展。另外只需自己本身的实例就可以实现已存组件到目标系统同接口的转换。但是该方式只能实现对一个明确的类的接口的转换,无法实现对其子类实现适配转换的功能。

对象适配,它的好处是可以实现一个适配器类能够实现对多个类接口的转换,即可以实现对其适配的子类也提供同样的功能。坏处就是重写其适配的类的方法。

下边有个例子:

前段时间迷上了2k10, 为了防止我把本本在吃敲坏了。所以打算搞个外接键盘,因为之前用台式机,所以手里有个PS/2接口的键盘,但是我的本本上只对外提供了USB接口,所以如果直接用这个键盘的话是不可能的了。但是我花5块钱买了个U口2P口的东东,问题就解决了。因为它一段对外提供了USB接口,即继承了我本本的对外的接口,而另一端是一个PS/2接口,继承了/集成了我的键盘的接口,而其中间的方形疙瘩,则实现了对数据流的转换。那么这个东西就是所谓的Adapter 了。
分享到:
评论

相关推荐

    设计模式——适配器模式(adapter)

    在阅读文章《设计模式——适配器模式(adapter)》时,你可以期待了解到更多关于适配器模式的实战案例、优缺点分析以及如何在实际项目中有效利用这一模式来解决问题。同时,提供的`adapter`压缩包文件可能包含示例...

    设计模式-Java语言中的应用(pdf)

    《设计模式——Java语言中的应用》是一本专为Java开发者深入理解面向对象设计而编写的经典书籍。设计模式是软件工程领域中经过实践验证的、解决常见问题的有效方案,它们代表了在特定上下文中,针对特定问题的最优...

    设计模式——适配器模式

    通过阅读博客文章《设计模式——适配器模式》(链接:https://wjy320.iteye.com/blog/2042323),我们可以深入了解适配器模式的实现细节,包括具体的代码示例以及在实际项目中的应用案例。这个博客可能会讨论如何在...

    设计模式——可复用面向对象软件的基础(1)

    在《设计模式——可复用面向对象软件的基础》这本书中,作者Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides(合称GoF)首次提出了23种面向对象设计模式。这些模式涵盖了不同设计场景,如创建型模式、...

    Junit设计模式分析——设计模式经典案例

    ### Junit设计模式分析——设计模式经典案例 #### 1. JUnit概述 **1.1 JUnit简介** JUnit是一个非常流行的Java单元测试框架,它最初由Erich Gamma和Kent Beck开发完成。作为XUnit测试体系架构的一种实现,JUnit...

    《设计模式--基于C#的工程化实现及扩展》.(王翔)_《0528》.rar

    《设计模式--基于C#的工程化实现及扩展》是一本深入探讨软件设计模式的书籍,作者王翔通过C#语言来阐述各种设计模式的工程化应用和拓展。设计模式是软件开发中的一种最佳实践,它总结了在特定场景下解决常见问题的...

    设计模式可复用面向对象软件的基础.zip

    书名: 设计模式可复用面向对象软件的基础 英文原书名: Design Patterns:Elements of Reusable Object-Oriented software 作者: Erich Gamma 等 译者: 李英军 马晓星 蔡敏 刘建中 书号: 7-111-07575-7 页码: 254 定价...

    23种 设计模式---面向对象的基本原则

    设计模式是软件工程中的一种最佳实践,它们是解决常见编程问题的经验总结,为软件开发提供了可复用的解决方案。在面向对象编程中,设计模式基于一些基本原则,这些原则构成了良好设计的基础。本篇将深入探讨23种设计...

    C++设计模式--基于Qt4开源跨平台开发框架

    《C++设计模式--基于Qt4开源跨平台开发框架》一书主要探讨了如何在C++编程中利用设计模式,并结合Qt4框架进行高效的跨平台应用开发。设计模式是软件工程中的重要概念,它们是经过时间和实践验证的解决特定问题的模板...

    《java设计模式》课后习题模拟试题解答——刘伟.zip

    本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与应用,特别是针对刘伟教授的相关课程的课后习题及模拟试题的解答。 设计模式分为三大类:创建型、结构型和行为型模式。...

    设计模式代码——c#

    C#设计模式(23种设计模式) 1. 单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype) 结构型: 6. 适配器...

    设计模式精解——GoF23中设计模式解析

    ### 设计模式精解——GoF23中设计模式解析 #### 重要性与起源 设计模式是软件工程领域的一项重要研究,它提供了一系列解决常见软件设计问题的模板。GoF23指的是由Erich Gamma、Richard Helm、Ralph Johnson和John ...

    设计模式与泡MM——设计模式入门教程

    ### 设计模式与泡MM——设计模式入门教程 #### 一、创建型模式 ##### 1、FACTORY(工厂模式) 工厂模式的核心在于定义了一个创建对象的接口,但允许子类决定实例化哪一个类。工厂模式让类的实例化延迟到子类中...

    设计模式C#实例——大洋系统

    "设计模式C#实例——大洋系统"这个主题涵盖了五个经典的设计模式:抽象工厂(Abstract Factory)、适配器(Adapter)、桥接(Bridge)、建造者(Builder)以及责任链(Chain of Responsibility)。接下来,我们将...

    设计模式源码.zip

    最后,"设计模式——基于C#的工程化实现及扩展_示例说明.txt"文件提供了对源码的解释和应用场景的描述,这对于初学者来说是极其宝贵的资源。它可以帮助你理解每个模式的意图、适用场景以及如何在C#代码中正确地引入...

    设计模式精解-GoF 23种设计模式解析附C++.pdf

    ### 设计模式精解——GoF 23种设计模式解析及C++实现 #### 0. 引言 设计模式作为面向对象编程的核心组成部分,是软件开发者在长期实践中总结出来的最佳实践。通过深入理解这些设计模式,我们可以更好地进行面向...

    X-gen PPT下载——《研磨设计模式》 实战

    《研磨设计模式》实战是IT领域中关于软件设计的一份重要资料,它主要探讨了设计模式在实际项目中的应用。设计模式是软件工程中经过长期实践总结出的通用问题解决方案,是解决常见设计问题的经验总结。这份PPT可能是...

Global site tag (gtag.js) - Google Analytics