设计模式之适配器模式理解

导读:本篇文章讲解 设计模式之适配器模式理解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

概念

适配器模式,将某个类的接口转成客户端期望的另一个接口表示,主要的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作,其别名为包装器

原理

适配器属于结构性模式
适配器分为三类:类适配器,对象适配器,接口适配器

1,将一个类的接口转换成另外一种接口,让原本接口不兼容的类可以兼容
2,从用户的角度看不到被适配者,是解耦的
3,用户调用适配器转化出来的目标接口方法,适配器再调用被适配者的相关接口方法
4,用户收到反馈结果,感觉只是和目标接口交互,如图:
在这里插入图片描述

类适配器

在这里插入图片描述

1,java是单继承机制,所以适配器需要继承src类这一点是一个缺点
2,src类的方法在Adapter中都会暴露出来,也增加了使用的成本
3,由于其继承了src类,所以它可以根据需求重写src类,使得Adapter的灵活性增强了

被适配方:
在这里插入图片描述
适配器:
其实适配器就是拿到被被适配方后做相应的处理然后将其返回,前提需要继承被适配方
在这里插入图片描述
适配方:
在这里插入图片描述
调用:
在这里插入图片描述
测试:

在这里插入图片描述

对象适配器

在这里插入图片描述

1,基本思路和类的适配器模式相同,只是将Adapter类作修改,不是继承src类,而持有src类的实例,以解决兼容性的问题,即,持有src类,实现了dst类接口,完成src->dst的适配
2,根据 “合成复用原则” 在系统中尽量使用关联关系来代替继承关系

被适配方:
在这里插入图片描述
适配器:
跟原来不同的是,去掉了继承,使用了构造器的方式进行注入

在这里插入图片描述
适配方:
在这里插入图片描述
调用:
在这里插入图片描述
测试:
在这里插入图片描述

接口适配器

在这里插入图片描述

1,接口适配器(Default Adapter Pattern)也叫做缺省适配器模式
2,当不需要全部实现接口提供的方法时,可先设计一个抽象类实现接口,并为该接口中每个方法提供一个默认实现(空方法),那么该抽象类的子类可有选择的覆盖父类的某些方法实现需求
3,适用于一个接口不想使用其所有的方法的清空

定义一个接口方法:

在这里插入图片描述
定义一个抽象类,并实现接口,实现空方法

在这里插入图片描述
测试

在这里插入图片描述

适配器注意事项

1,三种命名方式,是根据src是以怎样给到Adapter(在Adapter里的形式)来命名的
2,类适配器,以类给到,在Adapter里,就是将src当做类,继承对象适配器,以对象给到,在Adapter里,将src作为一个对象,持有接口适配器。以接口给到,在Adapter里,将src作为一个接口实现
3,Adapter模式最大的作用还是将原本不兼容的接口融合在一起工作

学习来源:B站韩顺平

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/112562.html

(0)
Java光头强的头像Java光头强

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!