设计模式(六)适配器模式
来源:互联网 发布:网络发行许可证 编辑:程序博客网 时间:2024/06/07 11:22
前面介绍的几种设计模式都是创建型模式,用于以不同的方式创建对象。下面我们来看看适配器模式,这是一种结构型模式,用于在两个无关的接口之间搭建桥梁。
适配器模式主要用于在新旧代码直接转换。
直接看例子吧。假设我们有一个音乐播放器。
public interface MusicPlayer { void playMusic();}class MyMusicPlayer implements MusicPlayer { @Override public void playMusic() { System.out.println("播放音乐"); }}
然后还有一个视频播放器。
public interface VideoPlayer { void playVideo();}class MyVideoPlayer implements VideoPlayer{ @Override public void playVideo() { System.out.println("播放视频"); }}
我们可以看到这两个接口的方法不同,现在我们希望以一种统一的方式播放音乐和视频。所以就需要类似下面的适配器。在适配器中,我们做了一些工作,将两个接口的方法包装,统一使用play方法调用。
public interface MediaPlayer { void play();}class MediaPlayerAdapter implements MediaPlayer { private MusicPlayer musicPlayer; private VideoPlayer videoPlayer; private boolean isMusicPlayer = false; private boolean isVideoPlayer = false; public MediaPlayerAdapter(Object player) { if (player instanceof MusicPlayer) { musicPlayer = (MusicPlayer) player; isMusicPlayer = true; } else if (player instanceof VideoPlayer) { videoPlayer = (VideoPlayer) player; isVideoPlayer = true; } } @Override public void play() { if (isMusicPlayer) { musicPlayer.playMusic(); } else if (isVideoPlayer) { videoPlayer.playVideo(); } }}
我们可以看到,适配器的作用很强大,可以将不同接口联系起来,所以适配器模式的使用非常广泛。留意一下就会在很多地方发现它的身影。
0 0
- 设计模式之(六)------适配器模式
- java设计模式(六)--适配器模式
- Java设计模式(六)----适配器模式
- 设计模式(六)适配器模式
- 设计模式(六):适配器模式
- 设计模式笔记(六)--适配器模式、外观模式
- 【设计模式之六:适配器模式】适配器模式
- 设计模式之(六)--适配器模式(adapter)
- 设计模式(六)适配器模式(Adapter)-结构型
- 设计模式(六) 适配器模式(Adapter)
- 浅谈Java设计模式(六)适配器模式(Adapter)
- 适配器模式(Adapt)-设计模式(六)
- 设计模式(六)之Adapter - 适配器模式
- 设计模式之六 适配器模式(Adapter)
- 设计模式之六:适配器模式(Adapter Pattern)
- 6 设计模式之适配器模式(六)
- 结构型:设计模式之适配器模式(六)
- JAVA--适配器模式(Adapter)--设计模式六
- nginx配置文件nginx.conf实例
- 设计模式(16)-状态模式
- 2017浙江省选一试第一天游记
- 类模板模拟实现STL中Vector
- nginx配置文件nginx.conf中文注释
- 设计模式(六)适配器模式
- hdu 2102
- 使用FileUpload组件完成文件下载
- [js]悬浮显示二级菜单的实现
- Git 学习笔记
- 类与类关系的UML图与代码表现
- yum找不到安装包
- 一道坑爹的选牌题目
- 基础sql语句总结(mysql)