设计模式-1.3适配器模式

适配器模式(Adapter)将一个类的接口转换为客户希望的另外一个接口。适配器模型使得原本由于接口不兼容而不能在一起工作的类能够在一起工作。

适配器模式分为类适配器模式和对象适配器模式。由于类适配器可以使用多重继承对一个接口与另一个接口进行匹配,而C#,VB.Net,Java等多语言都不能支持多重继承(C++支持),也就是一个类只有一个父类,所以这里主要讲对象适配器模式。

实例:

Adaptee:需要适配的类

Adapter:

时间: 2024-10-09 23:43:56

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

IOS设计模式之三(适配器模式,观察者模式)

本文原文请见:http://www.raywenderlich.com/46988/ios-design-patterns. 由 @krq_tiger(http://weibo.com/xmuzyq)翻译,如果你发现有什么错误,请与我联系谢谢. 适配器(Adapter)模式 适配器可以让一些接口不兼容的类一起工作.它包装一个对象然后暴漏一个标准的交互接口. 如果你熟悉适配器设计模式,苹果通过一个稍微不同的方式来实现它-苹果使用了协议的方式来实现.你可能已经熟悉UITableViewDelegat

Java程序设计模式系列之适配器模式

理解适配器设计模式需要从生活中的场景进行联系,在生活当中有那些东西能够称为适配器呢?从字面上理解,"适配"的意思就是让一个东西和另一个东西配对,能够让他们一起工作,比如大家用的笔记本电脑就需要用到电源适配器,转换插口和电流到笔记本上给笔记本电脑进行供电.再比如在国内所有的电器插座都是两口或三口的国内标准插座,但如果到中国大陆以外的地区旅行,想要使用电源给电子产品供电,就需要转换插口了.比如王老师到了香港,看到的电源插座是这样的: 很明显,从国内带去的手机就无法充电了. 那么这个问题怎么

设计模式—装饰模式和适配器模式

装饰模式又名包装(Wrapper)模式.装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 设计模式在JAVA I/O库中的应用 装饰模式在Java语言中的最著名的应用莫过于Java I/O标准库的设计了. 由于Java I/O库需要很多性能的各种组合,如果这些性能都是用继承的方法实现的,那么每一种组合都需要一个类,这样就会造成大量性能重复的类出现. 而如果采用装饰模式,那么类的数目就会大大减少,性能的重复也可以减至最少.因此装饰模式是Java I/O库的基本模式. 适配器模

设计模式入门,适配器模式,c++代码实现

// test07.cpp : Defines the entry point for the console application.// #include "stdafx.h"//设计模式第7章 适配器模式 class Duck{public: virtual void quack() = 0; virtual void fly() = 0;}; class MallardDuck : public Duck{public: void quack() { printf("

Java设计模式(三) 之 适配器模式

源码均以JDK1.8作为参考 1.定义: 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. 2.解析: Adapter Pattern又称为Wrapper Pattern,提到Adapter Pattern,最先会想到的可能就是电源适配器,例如一台12V的电脑需要改到家用220V交流电源上使用,就需要使用交流电适配器,对电源进行转换. 在Java语言中,就是为了将现有类进行包装或适配来完成既有功能. 通用类图: 类图解析: 2.1.Cl

设计模式学习之适配器模式

学习完了创建型设计模式,接下来准备学习结构型设计模式.我的个人理解是,创建型设计模式是如何优雅的生成新的对象,而结构型设计模式是如何优雅的组织对象.针对不同的应用场景,组织对象的方式也可能不尽相同.换言之,先得有场景,才需要选择设计模式.这是理解结构型设计模式最重要的地方.曾经有人问我,这么多设计模式根本记不住,而且有些模式感觉差不多,容易混淆.诚然,死记硬背各种模式,很难灵活运用,千万不能拘泥于模式. 想象一下这样的场景,需要根据不同的配置文件,选择不同jar包中的某个类进行处理.问题来了,如

设计模式之四:适配器模式(Adapter Pattern)

在软件系统中,由于应用环境的变化,常常需要将"一些现存的对象"放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的.如果能既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?这就是适配器模式要解决的问题. 目的:将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 下面以日志记录程序为例子说明Adapter模式.假设我们在软件开发中要记录日志,包括数据库记录日志DatabaseLog和文本文件

《Head First 设计模式》之适配器模式与外观模式

适配器模式(Adapter) 适配器(adapter-pattern):将一个类的接口,转换成客户期望的另一个接口.适配器让原来接口不兼容的类可以合作无间.两种形式: 对象适配器(组合) 类适配器(多重继承):在Java中不能实现 外观(facade-pattern):提供了一个统一的接口,用来访问子系统中的一群接口.外观定义了一个高层接口,让子系统更容易使用. 原则 最少知识原则:只和你的密友谈话 要点: 当需要使用一个现有的类而其接口不符合需要时,使用适配器.适配器改变接口以符合客户期望.

23种设计模式中的适配器模式

适配器模式:将一个类的接口转换成另一种接口,让原本接口不兼容的类可以兼容. 个人见解:适配器模式实际上是用一个类来将两个不同类型的类进行兼容. 实际上是这样子的: public interface IA{ //接口IA public void a(); } public interface IB{//接口IB public void b(); } public class A implements IA{ @override public void a(){}; } public class B

设计模式学习笔记-适配器模式(对象适配器)

一.概述 将一个类的接口转换为客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作: 二.模式中的角色 Target:定义客户端使用的与特定领域相关的接口: Clinet:与符合Target接口的对象协同: Adpatee:定义一个已经存在的接口,这个接口需要适配: Adpater:对Adpatee的接口与Target接口进行匹配: 三.UML类图 四.代码实现 /// <summary> /// 客户端期待的类 /// </summary&