为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第18天+适配器模式

标签:
设计模式

课程名称:Java设计模式精讲 Debug方式+内存分析

课程章节:第12章 适配器模式讲解+Coding+源码解析

主讲老师:Geely

课程内容:

适配器模式

从实现形式上看,适配器模式就是,扩展了目标接口中的方法功能(功能是适配者实现的)

【为什么不直接调用对应的适配者接口方法呢?目的就是为了保证调用端的主逻辑不需要改动。如果适配者有改动,最多只需要改动适配器的内容实现,而不用改动调用主流程。而适配器本身,应该是简单的逻辑,不会存在业务逻辑,业务逻辑在适配者实现,所以改动点就在适配器上,适配器没有业务逻辑,所以必然是简单的代码】

问题1)定义?:没有关联的接口协同工作

将一个类的接口转换成客户希望的另一个接口。

让原来不兼容的两个接口协同工作

总的来说是实现方式就是,将target(期望)和 adeptee(已有资源)通过adapter组合起来。

问题2)分类?

分类: 类适配器、对象适配器、接口适配器

问题3)角色?(场景就是rpc调用)

目标接口**(客户端调用接口)**:Target,该角色把其他类转换为我们期望的接口(期望转换成的资源)

被适配者: Adaptee 原有的接口,也是希望被改变的接口(已有资源)

适配器: Adapter, 将被适配者和目标接口组合到一起的类(将已有和期望组合。)

适配器实现方式:适配器类实现目标接口,目标接口中的方法调用适配者类
图片描述

问题4)为什么要将,两个不兼容的接口,协同工作?

迪米特法则,不引用非关系类(出现在成员变量,方法的输入,输出参数中的类称为朋友类。),所以需要将两个非关系类,进行兼容,然后再调用。

图片描述

问题5)调用过程和实现方式

调用过程:客户端调用 适配器实现的 目标接口方法,目标方法内部调用适配者接口

适配器实现方式:适配器类实现目标接口,目标接口中的方法调用适配者类

问题6) 实例

客户端,调用目标接口drive方法,适配器实现目标接口drive方法和聚合适配者。drive方法调用适配者方法。这样客户端调用drive方法,调用的就是适配者的实现。(就是适配器,实现了目标接口和引用关联了适配者)

客户端,调用发动机,获取了电能或光能的,

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消