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

昆明网站建设注意事项域名回收网站

昆明网站建设注意事项,域名回收网站,个人小程序开发教程,wordpress视频格式文章目录 一、适配器模式定义二、例子2.1 菜鸟教程例子2.1.1 定义两个不兼容的播放接口MediaPlayer 、AdvancedMediaPlayer2.1.2 定义AdvancedMediaPlayer两个实现类VlcPlayer 、Mp4Player2.1.3 定义适配器MediaAdapter2.1.4 定义AudioPlayer 并使用MediaAdapter2.1.5 使用 2.2… 文章目录 一、适配器模式定义二、例子2.1 菜鸟教程例子2.1.1 定义两个不兼容的播放接口MediaPlayer 、AdvancedMediaPlayer2.1.2 定义AdvancedMediaPlayer两个实现类VlcPlayer 、Mp4Player2.1.3 定义适配器MediaAdapter2.1.4 定义AudioPlayer 并使用MediaAdapter2.1.5 使用 2.2 JDK源码——InputStreamReader2.3 Spring源码——AdvisorAdapter 三、其他设计模式 一、适配器模式定义 别名 门面模式 类型 结构型模式 目的 将不兼容的接口 通过适配器 转换成可兼容的接口。 二、例子 2.1 菜鸟教程例子 2.1.1 定义两个不兼容的播放接口MediaPlayer 、AdvancedMediaPlayer public interface MediaPlayer {public void play(String audioType, String fileName); }public interface AdvancedMediaPlayer { public void playVlc(String fileName);public void playMp4(String fileName); }2.1.2 定义AdvancedMediaPlayer两个实现类VlcPlayer 、Mp4Player VlcPlayer public class VlcPlayer implements AdvancedMediaPlayer{Overridepublic void playVlc(String fileName) {System.out.println(Playing vlc file. Name: fileName); }Overridepublic void playMp4(String fileName) {//什么也不做} }Mp4Player public class Mp4Player implements AdvancedMediaPlayer{Overridepublic void playVlc(String fileName) { //什么也不做 }Overridepublic void playMp4(String fileName) {System.out.println(Playing mp4 file. Name: fileName); } }2.1.3 定义适配器MediaAdapter 将AdvancedMediaPlayer 接口适配MediaPlayer 接口 public class MediaAdapter implements MediaPlayer {AdvancedMediaPlayer advancedMusicPlayer;public MediaAdapter(String audioType){if(audioType.equalsIgnoreCase(vlc) ){advancedMusicPlayer new VlcPlayer(); } else if (audioType.equalsIgnoreCase(mp4)){advancedMusicPlayer new Mp4Player();} }Overridepublic void play(String audioType, String fileName) {if(audioType.equalsIgnoreCase(vlc)){advancedMusicPlayer.playVlc(fileName);}else if(audioType.equalsIgnoreCase(mp4)){advancedMusicPlayer.playMp4(fileName);}} }2.1.4 定义AudioPlayer 并使用MediaAdapter public class AudioPlayer implements MediaPlayer {MediaAdapter mediaAdapter; Overridepublic void play(String audioType, String fileName) { //播放 mp3 音乐文件的内置支持if(audioType.equalsIgnoreCase(mp3)){System.out.println(Playing mp3 file. Name: fileName); } //mediaAdapter 提供了播放其他文件格式的支持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);}} }2.1.5 使用 public class AdapterPatternDemo {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);} }2.2 JDK源码——InputStreamReader InputStream接口适配Reader接口 public abstract class Reader implements Readable, Closeable {public int read(CharBuffer target) throws IOException {if (target.isReadOnly())throw new ReadOnlyBufferException();int nread;if (target.hasArray()) {char[] cbuf target.array();int pos target.position();int rem Math.max(target.limit() - pos, 0);int off target.arrayOffset() pos;nread this.read(cbuf, off, rem);if (nread 0)target.position(pos nread);} else {int len target.remaining();char[] cbuf new char[len];nread read(cbuf, 0, len);if (nread 0)target.put(cbuf, 0, nread);}return nread;}}public class InputStreamReader extends Reader {private final StreamDecoder sd;public InputStreamReader(InputStream in) {super(in);Charset cs Charset.defaultCharset();sd StreamDecoder.forInputStreamReader(in, lockFor(this), cs);}public int read(CharBuffer target) throws IOException {return sd.read(target);} }2.3 Spring源码——AdvisorAdapter 切面适配器接口。 Advisor适配MethodInterceptor 接口 public interface AdvisorAdapter {boolean supportsAdvice(Advice advice);MethodInterceptor getInterceptor(Advisor advisor); } 实现类MethodBeforeAdviceAdapter class MethodBeforeAdviceAdapter implements AdvisorAdapter, Serializable {MethodBeforeAdviceAdapter() {}public boolean supportsAdvice(Advice advice) {return advice instanceof MethodBeforeAdvice;}public MethodInterceptor getInterceptor(Advisor advisor) {MethodBeforeAdvice advice (MethodBeforeAdvice)advisor.getAdvice();return new MethodBeforeAdviceInterceptor(advice);} } 三、其他设计模式 创建型模式 结构型模式 1、设计模式——装饰器模式Decorator Pattern Spring相关源码 行为型模式 1、设计模式——访问者模式Visitor Pattern Spring相关源码2、设计模式——中介者模式Mediator Pattern JDK相关源码3、设计模式——策略模式Strategy Pattern Spring相关源码4、设计模式——状态模式State Pattern5、设计模式——命令模式Command Pattern Spring相关源码6、设计模式——观察者模式Observer Pattern Spring相关源码7、设计模式——备忘录模式Memento Pattern8、设计模式——模板方法模式Template Pattern Spring相关源码9、设计模式——迭代器模式Iterator Pattern Spring相关源码10、设计模式——责任链模式Chain of Responsibility Pattern Spring相关源码11、设计模式——解释器模式Interpreter Pattern Spring相关源码
http://wiki.neutronadmin.com/news/104267/

相关文章:

  • 外贸网站优化软件网站链接网址怎么做
  • 集团网站建设价格软件开发工具的基本功能是什么
  • 旅游电子商务网站建设调查问卷旅游网站 分析
  • 西宁最好网站建设公司成功的网站必须具备的要素
  • 优易官方网站类似全民互推的推广平台
  • 用旧手机做网站东营招标信息网官网首页
  • 淄博制作网站的公司长沙知名网站建设
  • 建设工程的招标网站有哪些windows优化大师卸载
  • html5手机网站建设企业咨询公司名称大全
  • 百度百科让做网站的超链接吗做网站备案都需要什么东西
  • 银川怎么做网站百度知道问答首页
  • 做pc端网站新闻宜兴网站开发
  • 魔站网站开发网站 开发逻辑
  • 怎么用ps做网站首页字天堂网
  • 网站由哪儿三部分组成哪里有网站设计公司
  • 朝阳企业网站建设方案wordpress主题首页问题
  • 提升网站打开速度系统app定制开发
  • 做网站哪种编程语言最好网站弹窗怎么做
  • 17岁高清免费观看完整版网站的结构与布局优化设计
  • 如何拿网站后台账号推广小程序拿佣金
  • 网站官网建设的价格种子搜索引擎在线
  • 做网站的app有什么作用wordpress 4.4 优化
  • 织梦网站图片设置多大wordpress新浪图床会挂吗
  • 一般购物网站项目网站建设 宁夏
  • 简述网站开发的基本原则众筹网站平台建设
  • 新建网站百度搜不到备案的网站名称能重复备案吗
  • 上海有名网站建站开发公司网站的seo 如何优化
  • 海口建设工程信息网站网站 数据备份
  • 制作网站的过程是对信息的可以免费进的服务器网站
  • 专注于响应式网站开发哈尔滨网站推广公司