DP讨论——适配器模式

学而时习之,温故而知新。

敌人出招(使用场景)

说是自己的程序对接第三方的库,但是自己的代码的接口设计完毕了,如何对接上?

你出招

适配器模式就是为此而生的------我觉得应该是该解决方法被命名为了适配器模式。毕竟这种对接问题也是通用的问题。类似搞个中间层,这里是中间类或者叫转换类。

类模式和对象模式

适配器模式实现方式分为类模式和对象模式,啥呀,其实就是继承方式和组合方式,这样更容易理解。

设计模式原则上有个建议,说组合优先于继承。所以大多都是用组合来实现适配器模式。

日常生活举例

今天早上拿了袋小番茄,袋子上没有勾子,要把它挂到墙上的钩子上,只能找一个带钩子的袋子把它套进去,然后挂上去。

目标类接口是钩子------墙上挂钩,源类没有该接口,那怎么搞呢?创建一个适配器类------带钩子的袋子------把源类包起来(包装下wrapper)。这不就是适配器模式。

当然比较常见的日常例子不要太多,比如在晾衣架上晒衣服,衣服没有钩子,怎么挂到衣架上?搞个衣裳架把衣服挂到衣架上------但是这个衣服和衣裳架感觉又有点像装饰器,算了,这几个模式本来不好区分,见仁见智。

参考代码

参考代码

适配器

相关推荐
V搜xhliang02462 小时前
AI智能体的数据安全与合规实践
人工智能·学习·数据分析·自动化·ai编程
无敌的牛2 小时前
redis学习过程
数据库·redis·学习
旅僧5 小时前
Π环境部署(运行 且 无理论讲解)
学习
jushi89995 小时前
Lucas Chess R国际象棋、中国象棋、日本将棋、五子棋训练学习工具游戏软件
学习
自传.5 小时前
尚硅谷 Vibe Coding|第一章 AI 编程基础理论 学习笔记
笔记·学习·尚硅谷·vibe coding
吃好睡好便好6 小时前
改变时间轴的跨度
学习·生活
fox_lht6 小时前
15.3.改进我们之前的输入、输出项目
开发语言·后端·学习·rust
chase。6 小时前
【学习笔记】SimpleVLA-RL:通过强化学习扩展 VLA 训练
笔记·学习
C语言小火车7 小时前
什么时候用智能指针?什么时候用裸指针?
c语言·c++·学习·指针
AOwhisky7 小时前
Redis 学习笔记(第一期):概述、安装配置与核心理论
运维·数据库·redis·笔记·学习·云计算