共有两类适配器模式:
对象适配器模式
-- 在这种适配器模式中,适配器容纳一个它包裹的类的实例。在这种情况下,适配器调用被包裹对象的物理实体。
类适配器模式
-- 这种适配器模式下,适配器继承自已实现的类(一般多重继承)。
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。——Gang of Four
客户:需要调用我们的代码的对象。
Adapter模式的宗旨:保留现有类所提供的服务,向客户提供接口,以满足客户的期望。
(1)类适配器:
当客户在接口中定义了他期望的行为时,我们就可以应用适配器模式,提供一个实现该接口的类,并且扩展已有的类,通过创建子类来实现适配。
下面是类适配器的UML图:
(2)对象适配器:
对象适配器”通过组合除了满足“用户期待接口”还降低了代码间的不良耦合。在工作中推荐使用“对象适配”。下面是对象适配器的UML图:

实例:

 public interface IUserInfo{string getUserName { get; }}public class Adapter : IUserInfo{Adaptee adt = new Adaptee();public string getUserName{get{return adt.getName();}}}public class Adaptee{public string getName(){return "new name";}}

转载于:https://www.cnblogs.com/65702708/p/3213028.html

设计模式之“适配器模式”相关推荐

  1. C#设计模式(7)——适配器模式(Adapter Pattern)

    一.引言 在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象.那么如果将"将现存的对象" ...

  2. 乐在其中设计模式(C#) - 适配器模式(Adapter Pattern)

    [索引页] [源码下载] 乐在其中设计模式(C#) - 适配器模式(Adapter Pattern) 作者:webabcd 介绍 将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本 ...

  3. 跟JBPM学设计模式之适配器模式

    跟JBPM学设计模式之适配器模式 模式简介 适配器模式(Adapter),将一个类的接口转换成客户希望的另一个接口.适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 说起适配器模式 ...

  4. python适配器模式角色_Python设计模式之适配器模式原理与用法详解

    本文实例讲述了Python设计模式之适配器模式原理与用法.分享给大家供大家参考,具体如下: 适配器模式(Adapter Pattern):将一个类的接口转换成为客户希望的另外一个接口. 下面是一个适配 ...

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

    模式意图 如果已经有了一种类,而需要调用的接口却并不能通过这个类实现.因此,把这个现有的类,经过适配,转换成支持接口的类. 换句话说,就是把一种现有的接口编程另一种可用的接口. 模式结构 [类的适配器 ...

  6. 设计模式适配器模式_21世纪的设计模式:适配器模式

    设计模式适配器模式 这是我的演讲的第三部分," 21世纪的设计模式" . 适配器模式桥接世界. 在一个世界中,我们有一个概念的界面. 在另一个世界,我们有不同的界面. 这两个接口有 ...

  7. Java面试题:单例设计模式、适配器模式的不同方式

    QUESTION:单例设计模式.适配器模式的不同方式? ANSWER: 1.单例设计模式,适配器设计模式     单利设计模式:             在java中,单例模式是指为了保证类在内存中只 ...

  8. [学习笔记]设计模式[6]-{适配器模式外观模式}

    设计原则 最少知识原则:只和你的密友谈话 这个原则的意思是,在系统设计的过程中,不要让太多的类耦合在一起,免得对系统一部分的修改会影响到其他部分.在设计系统之前,应该首先注意对象与对象之间的交互关系, ...

  9. 适配器模式_21世纪的设计模式:适配器模式

    适配器模式 这是我的演讲的第三部分," 21世纪的设计模式" . 适配器模式桥接世界. 在一个世界中,我们有一个概念的界面: 在另一个世界中,我们有不同的界面. 这两个接口有不同的 ...

  10. 设计模式回顾——适配器模式(C++)

    文章目录 1 前言 2 什么是适配器模式 2.1 生活中的适配器 2.2 适配器模式含义 2.3 适配器模式作用 3 适配器模式优缺点 3.1 适配器优缺点 3.2 类适配器优缺点 3.3 对象适配器 ...

最新文章

  1. spring与memcache的集成
  2. 让Windows下的Tomcat将控制台信息记录到日志
  3. python之Argparse模块
  4. ToolStrip和ToolStripButton的用法
  5. c语言表达式10 amp 6等于多少,C语言基础——表达式
  6. 感到压力时,你秃的是头,而TA秃的是屁股
  7. 天津大学计算机考试题库,天津大学在线考试题库及答案[开放英语专]
  8. 恒丰银行微服务架构优化实践
  9. shell脚本实现Fibonacci数列
  10. 服务器“**”上的MSDTC不可用的解决办法
  11. kali 克隆网页_如何克隆一个网站(by Kali)
  12. sola染毒文件恢复工具
  13. 元素周期表排列的规律_元素周期表的元素排列规律和元素的性质
  14. boll指标详解教了哪些窍门BOLL指标详解之注意事项是什么
  15. 心理账户、沉没成本、比例偏见
  16. DSDT与SSDT提取
  17. 【示波器】基于FPGA的数字示波器设计实现
  18. 第3章第1节:使用图片来活跃整张幻灯片版面的气氛 [PowerPoint精美幻灯片实战教程]
  19. 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】Oops在Linux 2.6内核+PowerPC架构下的前世今生
  20. 清华非全日制计算机硕士,2021年清华大学硕士招生分析,专硕非全日制占比高达67%...

热门文章

  1. 剑网三缘起,葱姜蒜也能卖?欺负新玩家被批评,但说明游戏很自由
  2. Oracle Spatial-元数据及SDO_GEOMETRY
  3. springboot官网-pom.xml文件
  4. day12装饰器进阶
  5. unittest框架学习笔记
  6. 命名空间“Microsoft.Office”中不存在类型或命名空间名称“Interop”(是否缺少程序集引用?...
  7. [c/c++] programming之路(7)、数据类型转换、偷钱小程序、进制转换
  8. 第二阶段冲刺10天 第一天
  9. ArcGIS 10.0 ArcGIS 9.3.1数据生成实验--个人地理数据库
  10. 视频监控线缆选型须知 转