适配器模式 Adapter Pattern 变压器模式

Convert the interface of a class into another interface clients expect.Adapter lets classes work together that couldn’t otherwise because of incompatible interfaces.

将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式就是一个接口或类转换成其他的接口或类,适配器相当于一个包装器。

目标角色(Target):该角色定义要转换成的目标接口。

package com.DesignPattern.Structural.Adapter;public interface Target {public void request();
}

源角色(Adaptee):需要被转换成目标角色的源角色。

package com.DesignPattern.Structural.Adapter;//源角色
public class Adaptee {// 原有业务处理public void specificRequest() {System.out.println("原有业务处理");}
}

适配器角色(Adapter):该角色是适配器模式的核心,其职责是通过继承或是类关系的方式,将源角色转换为目标角色。

package com.DesignPattern.Structural.Adapter;public class Adapter extends Adaptee implements Target {@Overridepublic void request() {super.specificRequest();}
}
package com.DesignPattern.Structural.Adapter;public class Client {public static void main(String[] args){//适配器模式应用Target target=new Adapter();target.request();}
}

适配器模式的实例

Dumplings.java

package com.DesignPattern.Structural.Adapter;public class Dumplings {public void makeDumplings(){System.out.println("调馅");System.out.println("擀皮");System.out.println("包馅");}
}

Hundun.java

package com.DesignPattern.Structural.Adapter;public interface Hundun {public void makeHundun();
}

FoodAdapter.java

package com.DesignPattern.Structural.Adapter;public class FoodAdapter extends Dumplings implements Hundun {@Overridepublic void makeHundun() {super.makeDumplings();System.out.println("混沌和水饺一样都是用面包馅的食品");}
}

ClientDemo.java

package com.DesignPattern.Structural.Adapter;public class ClientDemo {public static void main(String[] args){Hundun h=new FoodAdapter();h.makeHundun();}
}

转载于:https://www.cnblogs.com/javafly/p/6037109.html

DesignPattern_Java:Adapter Pattern相关推荐

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

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

  2. Adapter pattern

    1. 定义 http://en.wikipedia.org/wiki/Adapter_pattern An adapter helps two incompatible interfaces to w ...

  3. adapter pattern java_适配器模式(Adapter Pattern)

    适配器模式(Adapter Pattern) 是作为两个不兼容的接口之间的桥梁. 例子:读卡器是作为内存卡和笔记本之间的是适配器,内存卡插入读卡器,读卡器再插入笔记本电脑. 参考资料: . 作用:将一 ...

  4. 极速理解设计模式系列:6.适配器模式(Adapter Pattern)

    四个角色:目标抽象类角色(Target).目标对象角色(Adapter).源对象角色(Adaptee).客户端角色(Client) 目标抽象类角色(Target):定义需要实现的目标接口 目标对象角色 ...

  5. php本地服务手机适配器,php适配器模式(adapter pattern)

    下午陪家人和小孩,晚上练起来. /* The adapter pattern allows the interface of an existing class to be used from ano ...

  6. 【设计模式】适配器模式 Adapter Pattern

    适配器模式在软件开发界使用及其广泛,在工业界,现实中也是屡见不鲜.比如手机充电器,笔记本充电器,广播接收器,电视接收器等等.都是适配器. 适配器主要作用是让本来不兼容的两个事物兼容和谐的一起工作.比如 ...

  7. 结构型设计模式 (1)—— 适配器模式(Adapter Pattern)

    文章目录 1.概述 2.适配器模式的简单应用 3.适配器模式应用场景与优缺点 4.类适配器 5.小结 参考文献 1.概述 使用设计模式可以提高代码的可复用性.可扩充性和可维护性.适配器模式(Adapt ...

  8. 设计模式(七): 通过转接头来观察适配器模式(Adapter Pattern)

    在前面一篇博客中介绍了"命令模式"(Command Pattern),今天博客的主题是"适配器模式"(Adapter Pattern).适配器模式用处还是比较多 ...

  9. Java Adapter Pattern(适配器模式)

    适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁.这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能.这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口 ...

最新文章

  1. 索引超出了数组界限_还在用优先队列?来试试索引优先队列吧(优先队列amp;索引优先队列)...
  2. 在C语言里_大学生:我学了这么久的C语言,为什么感觉它啥都做不了?网友:恰恰相反!...
  3. 机器人彩铅画_彩铅画嗔
  4. ai保存web格式没有html,存储技巧,讲解AI存储为WEB所用格式的一些知识
  5. ASP.NET CORE 之 在IIS上部署MVC项目
  6. 验证python安装_Python环境搭建(安装、验证与卸载)
  7. GoLang的逃逸分析
  8. nodejs之处理GET请求
  9. java链表对象_用Java实现链表结构对象:单向无环链表
  10. Asp组件初级入门与精通系列之六
  11. php导出excel2007实例,PHP导出EXCEL的简单范例 使用phpexcel类库导出excel
  12. 超简代码版设计模式系列六
  13. php图片反色特效,PHP实现对图片的反色处理功能【测试可用】
  14. ubuntu 安装 TM2009 QQ2013
  15. 英语·句子的五大结构
  16. linux游戏串流,steam串流
  17. NX二次开发(C#)-UI Styler-选择对象TaggedObject转换为Body、Face等对象
  18. Intel服务器芯片组区别,不同芯片组的主板有什么区别?
  19. 单体架构和微服务架构
  20. 一年级上册计算机教学计划,一年级上册教学计划

热门文章

  1. python爬取内容剔除nbsp_python 爬虫爬取内容时, \xa0 、 \u3000 的含义与处理方法...
  2. php中,多维数组是什么意思,在PHP中回显多维数组
  3. mysql 计算非重复_MySQL Query:在一个非常庞大的表中计算重复值
  4. 翻牌抽奖 php,PHP+jQuery开发简单的翻牌抽奖实例
  5. ai训练 样本大小_防止过拟合(三):数据增强(增加训练样本)
  6. python编译器_11 个最佳的 Python 编译器和解释器
  7. Referenced file contains errors (http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd).
  8. gridreport5.6如何设置打印3次_转载一篇文章 奔图打印机常见问题以及解决方法
  9. 固定资产拆分比例怎么计算_固定资产加速折旧优惠扩围!怎么计算、申报?这篇说全了...
  10. python画图渐变颜色的代号_plt绘图颜色渐变以及colormap