生活中的设计模式之适配器模式
Posted 寒冰护狐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生活中的设计模式之适配器模式相关的知识,希望对你有一定的参考价值。
初步认识适配器模式
鲁迅先生曾经说过,程序源自生活,而又高于生活,世界创造了万物,我们创造了程序,在这之间一定存在某些相似点。所以我们可以通过观察现实世界,来设计我们的虚拟世界
一、什么是适配器模式
适配器模式是传说中的GOF提出的二十三种设计模式的一种,他的适用范围也比较广,经常用到VO向PO的转换,或者项目对接时数据传输的类型匹配转换等,今天我准备做一个小的demo,来初步认识一下这个适配器模式。
二、我们生活中的适配器
适配器在我们的生活中也算是到处可见了,比如我们笔记本用到的变压器,他就是一个将220V电压适配成我们笔记本电脑所需要的电压;比如我们的USB读卡器,大家应该都见过,普通的存储卡是没有办法直接与电脑连接的,这个时候我们可以适用USB读卡器,一端关联存储卡一边关联电脑。这样描述大家心里应该有一些感觉了,我们开始进入下一阶段。
三、我们代码中的适配器
既然实践是检验真理的唯一标准,那我们先来模拟一个场景吧
我有一张存储卡和一个笔记本电脑,现在想往我的存储卡上下载一首我最爱听的《少年》,但是我们现在没有办法直接下载,所以需要设计一个适配器,废话不多说直接开始吧!!!!!
首先我们需要有一张存储卡,他的功能就是接收下载的音乐
public class MemoryCard
// 首先我们需要有一张存储卡
public MemoryCard()
System.out.println("我想下载音乐");
然后我们还需要一个有USB接口的电脑
public interface Computer
void musicDownLoad(String musicName);
最后我们需要一个USB读卡器也就是适配器,一边插入电脑的接口中,另一边插入存储卡
public class MyAdapter implements Computer // 将适配器插入电脑
private MemoryCard memoryCard;
// 将适配器插入电脑
public MyAdapter(MemoryCard memoryCard)
this.memoryCard = memoryCard;
@Override
public void musicDownLoad(String musicName)
System.out.println("《" + musicName + "》已下载完成");
最后我们选择一台电脑,插上USB读卡器然后开始下载一首《少年》吧
public class Run
public static void main(String[] args)
// 将存储卡插入USB读卡器,然后通过电脑来下载音乐
new MyAdapter(new MemoryCard()).musicDownLoad("少年");
运行结果:
好了,到现在为止一个简单的适配器模式就已经完成了,后续有时间我也会结合其他设计模式深入研究的,这是我的第一篇博客,大佬们轻点锤
以上是关于生活中的设计模式之适配器模式的主要内容,如果未能解决你的问题,请参考以下文章