设计模式——结构型模式之适配器模式

it2023-11-15  71

设计模式——结构型模式之适配器模式

背景说明适配器模式适配器模式链接 吐槽

背景

本人从事开发工作也有多年,目前坐标湖南长沙,以前在各种平台也发过一些文章但是都没有坚持下来; 这个系列是要写设计模式的,将23大设计模式逐一用自己的理解加例子写出来。 其一、眨眼就到了而立之年,觉得自己记忆力也是下降久做过的东西总是记不起,果然是好记性不如烂笔头。 其二、这么多年白嫖了网上很多的文章,视频,一直觉得应该分享一些东西但总是沉不下心去做。 其三、可能写的不好至少也留下一些东西,也是希望能帮助到一些朋友。

说明

在我的理解里:每一种设计模式仅仅是一种思想,并不是说每个设计模式之间就会有很明确的边界。有时候你会觉得某两种设计模式实现起来特别像,其实是因为有些的设计模式延伸出来的仅仅是着重的看待点不一样而已;学习设计模式一定不是只学习固定的实现方式。要了解设计思想,然后在项目中灵活得进行最适合设计。

适配器模式

适配器模式:“将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作”

直接上一段实现代码

public class Adapter { /** * * @Description 电源适配器 * * @Remark TODO 假设我们只有一个15V和10V的充电电压,但是充电只有输入5V才可以就用适配器转换成5V **/ public static class PowerAdapter { Voltage mVoltage; public PowerAdapter(Voltage voltage) { mVoltage = voltage; } public void charge() { System.out.println("输入的电压为:" + mVoltage.v()); System.out.println("将电压转换成:5V后输出,开始充电"); } } interface Voltage { int v(); } public static class Voltage15 implements Voltage { @Override public int v() { return 15; } } public static class Voltage10 implements Voltage { @Override public int v() { return 10; } } }

调用示例

//适配器模式 Adapter.Voltage10 voltage10 = new Adapter.Voltage10(); new Adapter.PowerAdapter(voltage10).charge(); Adapter.Voltage15 voltage15 = new Adapter.Voltage15(); new Adapter.PowerAdapter(voltage15).charge();

适配器模式链接

适配器模式链接.

吐槽

没啥好吐槽的了…

最新回复(0)