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

网页设计建网站流程传媒公司是干嘛的

网页设计建网站流程,传媒公司是干嘛的,网站做优化好还是做推广好,云南站群网站建设适配器模式 适配器模式是一种结构型设计模式#xff0c;其主要作用是解决两个不兼容接口之间的兼容性问题。适配器模式通过引入一个适配器来将一个类的接口转换成客户端所期望的另一个接口#xff0c;从而让原本由于接口不匹配而无法协同工作的类能够协同工作。 结构 适配…适配器模式 适配器模式是一种结构型设计模式其主要作用是解决两个不兼容接口之间的兼容性问题。适配器模式通过引入一个适配器来将一个类的接口转换成客户端所期望的另一个接口从而让原本由于接口不匹配而无法协同工作的类能够协同工作。 结构 适配器模式Adapter包含以下主要角色 目标Target接口当前系统业务所期待的接口它可以是抽象类或接口。适配者Adaptee类它是被访问和适配的现存组件库中的组件接口。适配器Adapter类它是一个转换器通过继承或引用适配者的对象把适配者接口转换成目标接口让客户按目标接口的格式访问适配者。 图例 AudioPlayer实现了 MediaPlayer 接口只可以播放 mp3 。实现了 AdvancedMediaPlayer 接口的类则可以播放 vlc 和 mp4 格式的文件。可以创建一个实现了 MediaPlayer 接口的适配器类 MediaAdapter并使用 AdvancedMediaPlayer 的实现类对象来播放所需的格式。AdapterPatternDemo 类则可以使用 AudioPlayer 类来播放各种格式的音频。 对象适配器模式代码案例 // 目标接口 interface MediaPlayer {void play(String audioType, String filename); }// 适配器接口 interface AdvancedMediaPlayer {void playVlc(String filename);void playMp4(String filename); }// 适配器类 class MediaAdapter implements MediaPlayer {private AdvancedMediaPlayer advancedMediaPlayer;public MediaAdapter(String audioType) {if (audioType.equalsIgnoreCase(vlc)) {advancedMediaPlayer new VlcPlayer();} else if (audioType.equalsIgnoreCase(mp4)) {advancedMediaPlayer new Mp4Player();}}Overridepublic void play(String audioType, String filename) {if (audioType.equalsIgnoreCase(vlc)) {advancedMediaPlayer.playVlc(filename);} else if (audioType.equalsIgnoreCase(mp4)) {advancedMediaPlayer.playMp4(filename);}} }// 具体实现类 class AudioPlayer implements MediaPlayer {MediaAdapter mediaAdapter;Overridepublic void play(String audioType, String filename) {if (audioType.equalsIgnoreCase(mp3)) {System.out.println(Playing mp3 file. Name: filename);} else 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);}} }class VlcPlayer implements AdvancedMediaPlayer {Overridepublic void playVlc(String filename) {System.out.println(Playing vlc file. Name: filename);}Overridepublic void playMp4(String filename) {// Do nothing} }class Mp4Player implements AdvancedMediaPlayer {Overridepublic void playVlc(String filename) {// Do nothing}Overridepublic void playMp4(String filename) {System.out.println(Playing mp4 file. Name: filename);} }// 使用示例 public class Main {public static void main(String[] args) {AudioPlayer audioPlayer new AudioPlayer();audioPlayer.play(mp3, song.mp3);audioPlayer.play(vlc, movie.vlc);audioPlayer.play(mp4, video.mp4);} }适配器模式有类适配器模式和对象适配器模式这里使用对象适配器模式主要是类适配器模式违背了合成复用原则它限制了适配器类只能适配一个具体的被适配者类。且Java 不支持多重继承因此在 Java 中一般使用接口来实现类似的功能 比如下面类适配器采用的是继承 // 适配器类类适配器 class MediaAdapter extends Mp4Player implements MediaPlayer { Overridepublic void play(String audioType, String filename) {if (audioType.equalsIgnoreCase(vlc)) {playVlc(filename);} else if (audioType.equalsIgnoreCase(mp4)) {playMp4(filename);}} }当然也有接口适配器模式不过使用相对较少。当一个接口拥有许多方法但实现类只需要实现其中一部分方法时可以使用接口适配器模式提供一个抽象适配器类实现该接口并提供默认实现从而避免实现类需要实现大量空方法。 使用场景 当需要使用一个已经存在的类但是它的接口不符合当前需求时可以考虑使用适配器模式。当需要复用一些已经存在的类但是接口与其他类不兼容时可以考虑使用适配器模式。当需要创建一个可复用的类该类可以与不相关或不可预见的类协同工作时可以考虑使用适配器模式。
http://www.dnsts.com.cn/news/265271.html

相关文章:

  • 网站开发回扣廊坊网站建设设计
  • 莘县网站开发WordPress关键词过滤
  • 如何借助织梦制作一个简单的网站郫县网站建设兼职
  • 网站后台导入excel表格wordpress顶部浮动
  • 企业网站建设报价方案网络营销推广方案前言
  • 国内卡一卡二卡三网站视频个人网站制作的主要内容
  • jsp 响应式网站模板下载wordpress 广告文件夹
  • 大学生毕业设计网站动漫风格网站
  • 旅游门户网站建设公司网站设计要多少钱
  • 新乡网站建设那家好怎么查询网站外链数
  • 360网站怎么做链接一个服务器做一样的网站
  • 济南建设信息网站网站毕业设计怎么做
  • wordpress迁站到阿里云哪个网站可以做付费推广
  • 遂宁商城网站建设太原电脑培训班哪家好
  • 北京网络营销的培训课程大连seo按天付费
  • 网站程可以自己做吗WordPress获取文章封页图
  • 网站备案哪里管wordpress在线时长插件
  • 怎么免费建立网站wordpress 没有小工具
  • 网站设计要求 优帮云玻璃钢产品哪个网站做推广好
  • typecho前端建站工具wordpress4.2.19 漏洞
  • 搜索引擎网站盈利模式搭建之星
  • 给别人做网站别人经营违法求推荐好玩的网页游戏
  • 邯山区住房和城乡建设局网站丹东网站建设
  • jsp网站开发 开题依据品牌营销策划公司哪家好
  • 小颜自助建站系统滨海新区网站建设
  • 怎么做淘宝客网站wordpress喜欢_赏_分享
  • 国际 网站制作公司洗发水营销推广软文800字
  • 乐清网站只做施工企业费用预算的编制内容包括
  • 网站开发江西点点 网站建设
  • 佛山专业网站开发公司wordpress logo