博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式之适配器模式
阅读量:6159 次
发布时间:2019-06-21

本文共 788 字,大约阅读时间需要 2 分钟。

  hot3.png

在设计模式中适配器模式应该算的上是比较重要的一种模式了。

首先我们来说下为什么需要适配器模式,适配器这个词不知各位是否模式。比如转接头,最常见的的应该算是充电器了,我们的电压是220V,但是我们的手机只能支持36V。怎么把220V的电压转换成36V的呢?这个转换的过程就是适配。目的就是把以前的接口转换成我们目前所需要的接口,解决的问题就是接口不一致的问题。这个在面试中经常被问到。

下面来让我们看看UML图:

上面的target接口就是我们的目标接口,在以前的代码中我们使用的接口是Shape接口。可是客户只接受target接口,这时我们就需要一个适配。

/** * Created by gao.mq on 2017/4/26. * 目标接口 */public interface Target {    public void request();}
/** * Created by gao.mq on 2017/4/26. */public class TargetImpl implements Target {  private  Shape shape;    @Override    public void request() {        shape=new Circle();        shape.draw();    }}

大家注意看第二张图,我们把shape接口注入进来。在target接口中的request方法调用shape接口中的方法,这样看起来不就是target接口request方法,但是执行的是shape接口draw方法。

在具体的实际环境中可能有参数,具体实例化哪个引用等信息。大家到时只能根据情况去判断,怎么可以更优雅的写出这些代码。

转载于:https://my.oschina.net/gaomq/blog/887319

你可能感兴趣的文章
eclipse的maven、Scala环境搭建
查看>>
架构师之路(一)- 什么是软件架构
查看>>
USACO 土地购买
查看>>
【原创】远景能源面试--一面
查看>>
B1010.一元多项式求导(25)
查看>>
10、程序员和编译器之间的关系
查看>>
配置 RAILS FOR JRUBY1.7.4
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
修改GRUB2背景图片
查看>>
Ajax异步
查看>>
好记性不如烂笔杆-android学习笔记<十六> switcher和gallery
查看>>
JAVA GC
查看>>
3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
查看>>
图解SSH原理及两种登录方法
查看>>
【总结整理】JQuery基础学习---样式篇
查看>>
查询个人站点的文章、分类和标签查询
查看>>
基础知识:数字、字符串、列表 的类型及内置方法
查看>>
JSP的隐式对象
查看>>
JS图片跟着鼠标跑效果
查看>>
[SCOI2005][BZOJ 1084]最大子矩阵
查看>>