当前位置: 首页 > wzjs >正文

织梦网站如何做软件下载网页制作与网站开发从入门到精通

织梦网站如何做软件下载,网页制作与网站开发从入门到精通,wordpress图片二级域名,3d在线设计网站1.适配器模式介绍适配器模式是一种结构型设计模式,它允许不兼容的接口协同工作。适配器模式的核心思想是将一个类的接口转换成客户期望的另一个接口,使得原本由于接口不兼容而不能一起工作的类可以一起工作。你可以将其想象成一个“转换插头”——假设你…

1.适配器模式介绍

适配器模式是一种结构型设计模式,它允许不兼容的接口协同工作。适配器模式的核心思想是将一个类的接口转换成客户期望的另一个接口,使得原本由于接口不兼容而不能一起工作的类可以一起工作。

你可以将其想象成一个“转换插头”——假设你有一个中国的电器插头,但你在欧洲旅行,需要将它插入欧洲的插座。适配器就是那个可以让中国插头插入欧洲插座的转换器。

在软件开发中,适配器模式通常用于整合一些旧的代码或第三方库,使它们能够与新的系统一起工作,而不需要修改它们的内部实现。适配器模式通过创建一个“适配器类”,这个类在内部转换接口,使得不兼容的接口可以顺利地互操作。

适配器模式通常包含以下几个角色:

  1. 目标接口(Target):这是客户期望的接口,目标可以是具体的或抽象的类。
  2. 适配者(Adaptee):这是需要适配的类,拥有客户希望使用的功能,但接口不兼容。
  3. 适配器(Adapter):通过在内部包装一个适配者对象,把适配者的接口转换为目标接口。

2. 代码演示

场景说明:我们创建一个媒体播放器MediaPlayer作为目标接口,一个老的媒体播放器OldMediaPlayer(接口及其实现)作为适配者,并且通过MediaAdapter 类实现了适配器,最终实现复用老媒体播放器功能。

目标接口:

public interface MediaPlayer {void play(String audioType, String fileName);
}

适配者:OldMediaPlayer及其实现类

//老媒体播放器,里面有希望使用的功能
public interface OldMediaPlayer {void playVlc(String fileName);void playMp4(String fileName);
}//map4播放器
public class Mp4Player implements OldMediaPlayer {@Overridepublic void playVlc(String fileName) {// Do nothing}@Overridepublic void playMp4(String fileName) {System.out.println("Playing mp4 file. Name: " + fileName);}
}//vlc播放器
public class VlcPlayer implements OldMediaPlayer {@Overridepublic void playVlc(String fileName) {System.out.println("Playing vlc file. Name: " + fileName);}@Overridepublic void playMp4(String fileName) {// Do nothing}
}

适配器:

//适配器:通过在内部包装一个适配者对象,把适配者的接口转换为目标接口
public class MediaAdapter implements MediaPlayer {//实现了 MediaPlayer 接口并使用 OldMediaPlayer 的实例OldMediaPlayer oldMediaPlayer;public MediaAdapter(String audioType){if(audioType.equalsIgnoreCase("vlc") ){oldMediaPlayer = new VlcPlayer();} else if (audioType.equalsIgnoreCase("mp4")){oldMediaPlayer = new Mp4Player();}}@Overridepublic void play(String audioType, String fileName) {if(audioType.equalsIgnoreCase("vlc")){oldMediaPlayer.playVlc(fileName);}else if(audioType.equalsIgnoreCase("mp4")){oldMediaPlayer.playMp4(fileName);}}
}

使用适配器

//使用适配器来播放不同格式的音频文件
public class AudioPlayer implements MediaPlayer {MediaAdapter mediaAdapter;@Overridepublic void play(String audioType, String fileName) {// Inbuilt support for mp3 music filesif(audioType.equalsIgnoreCase("mp3")){System.out.println("Playing mp3 file. Name: "+ fileName);}// MediaAdapter is providing support to play other file formatselse if(audioType.equalsIgnoreCase("vlc") || audioType.equalsIgnoreCase("mp4")){mediaAdapter = new MediaAdapter(audioType);mediaAdapter.play(audioType, fileName);}else{System.out.println("Invalid media. " + audioType + " format not supported");}}
}
public class Demo {public static void main(String[] args) {AudioPlayer audioPlayer = new AudioPlayer();audioPlayer.play("mp3", "beyond the horizon.mp3");audioPlayer.play("mp4", "alone.mp4");audioPlayer.play("vlc", "far far away.vlc");audioPlayer.play("avi", "mind me.avi");}
}

上述例子中,MediaAdapter类充当了适配器的角色,通过实现 MediaPlayer 接口,并在内部调用 OldMediaPlayer 的 playXXX() 方法,实现了接口的兼容。这样,新的音频系统就可以使用旧的播放器来播放音乐,而不需要对旧的播放器进行任何修改。

http://www.dtcms.com/wzjs/581582.html

相关文章:

  • wap网站微信一键登录免费的网站建设有哪些
  • 海南省城乡建设厅网站首页网站开发三层架构
  • 网站制作公司费用做网站效果怎么样
  • 做网站数据对电脑要求如何做网站在售产品分析
  • 网站推广计划书具体包含哪些基本内容?在线生成网页网站
  • 做隐私的网站网站短链接生成
  • 织梦iis7搭建网站wordpress目录关seo
  • 网站备案取消重新备案南京网站建设方案
  • 印后设备网站建设企业系统建设
  • 做抖音风的网站wordpress 升级 无法创建目录
  • 衡阳网站推广天津网站定制
  • 网站建设技能考试试题wordpress个人模版
  • 深圳网站建设啊我的网站模板下载
  • 网站设计自己申请网站优化推广方法
  • 网站 色彩方案企业宣传网站建设说明书
  • 如何网站建设自己怎么个人网站网页美工设计与制作
  • 网站建设所需材料黑客怎么入侵网站
  • 智库门户网站建设网站正在升级建设中
  • 建筑局网站wordpress在线视频直播
  • 深圳网站建设方案服务公司360弹出网站
  • 网站开发的任务要求广州市网站
  • 手机网站内容管理设计比较好的企业网站
  • 企业logo设计网站网站开发毕设参考文献
  • python 做网站合适吗收录平台
  • 微信网站制作系统网络营销第二板斧是什么
  • 深圳洲聚网站建设郑州高端网站建设是什么意思
  • 南昌网站建设设计wordpress抓取别人网站
  • 仿站容易还是建站容易标识标牌设计公司
  • 佛山市建设局网站网络科技公司上班做些什么
  • 网站用户界面设计wordpress minty主题