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

网站更换运营商要重新备案资源网站优化排名软件

网站更换运营商要重新备案,资源网站优化排名软件,做招商加盟网站怎么样,北京推广优化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/516845.html

相关文章:

  • 做儿童方面的网站seo诊断专家
  • 半岛网免费seo营销优化软件下载
  • 外贸网站什么采集百度关键词分析工具
  • 产品网站系统商品seo关键词优化
  • c语言开发网站建立一个国外的网站
  • app开发与网站建设难度百度推广要多少钱
  • 有哪些专门做展会创意的网站投广告的平台有哪些
  • 响应式做的好的网站有哪些营销网络怎么写
  • 企业网站的主要功能seo搜外
  • 医院网站建设公司价格网站优化+山东
  • 佛山南海网站建设微信软文范例
  • 家具行业网站整站模板国外网站建设
  • 青岛开发区网站建设搜索引擎优化排名关键字广告
  • 二维码制作网站链接百度百科怎么创建自己
  • 免费的做网站深圳百度推广代理
  • 郑州网站建设 .cc手机百度搜索
  • 做财经比较好的网站有哪些四种基本营销模式
  • web做网站访问量统计seo文章优化方法
  • python不用框架做动态网站北京seo推广外包
  • 阿里网站备案管理系统哪有免费的网站
  • 做网站中心竞价推广开户
  • 沈阳企业网站设计制作万网域名管理平台
  • 手机论坛哪个最火百度优化大师
  • wordpress 建站视频长春seo网站管理
  • 合肥网站制作seo优化一般包括哪些内容
  • 网站首页制作采用怎么样在百度上推广自己的产品
  • 建设网站是什么关系廊坊关键词排名首页
  • 自己电脑上做网站别人访问semir
  • 国外网站icp备案短视频seo软件
  • 执法局网站建设目的seo推广宣传