DP讨论——适配器模式

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

敌人出招(使用场景)

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

你出招

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

类模式和对象模式

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

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

日常生活举例

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

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

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

参考代码

参考代码

适配器

相关推荐
Nu11PointerException1 小时前
JAVA笔记 | ResponseBodyEmitter等异步流式接口快速学习
笔记·学习
霁月风4 小时前
设计模式——适配器模式
c++·适配器模式
WaaTong4 小时前
《重学Java设计模式》之 单例模式
java·单例模式·设计模式
@小博的博客4 小时前
C++初阶学习第十弹——深入讲解vector的迭代器失效
数据结构·c++·学习
南宫生5 小时前
贪心算法习题其四【力扣】【算法学习day.21】
学习·算法·leetcode·链表·贪心算法
懒惰才能让科技进步6 小时前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
love_and_hope6 小时前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen6 小时前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)6 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
WaaTong6 小时前
《重学Java设计模式》之 原型模式
java·设计模式·原型模式