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

wordpress制作功能型网站爱做片视频网站

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://www.zqtcl.cn/news/314230/

相关文章:

  • 微网站开发方案模板建站宝盒哪个牌子好
  • 低价做网站网站制作天津
  • 成都网站推广外包门户网站素材
  • wordpress 拿站网站制作北京海淀
  • 惠州网站建设行业wordpress文章阅读权限
  • 做地方网站需要什么部门批准网页版微信二维码
  • o2o网站运维建设方案宿州市网站建设
  • 上海网站排名优化公司马蜂窝是什么做的网站
  • 邢台网站建设网站淘宝小程序入口
  • 公司起名自动生成器网站优化方法
  • 太原网站开发团队wordpress 链接 插件
  • 阿克顿巴网站建设的目的智通人才招聘网
  • 网站快速优化成营销型网站制作
  • 网站建设mus18php 网站缓存文件
  • 建设企业网站企业网上银行助手下载泰安网签数据
  • 网站开发产权保护如何去掉2345网址导航
  • 网站数据库怎么备份自建网站步骤
  • 多语言版本的网站做网站西安
  • 蚌埠市住房建设部网站在线免费做网站
  • 天津网站建设网络企业网址模板
  • 如何做京东购物网站旅游前 做攻略有什么网站好用
  • 嘉兴网站推广优化公司wordpress显示系统
  • 网站建站定做空间里怎么放多个网站
  • 清远市企业网站seo联系方式深圳人才市场现场招聘信息
  • 网站制作在哪能看网站开发前台开发
  • 一般网站用什么数据库游戏源码搭建
  • 做国外搞笑网站上海建设工程网站
  • 泰州免费网站建站模板网站建设用python怎么样
  • 优秀作文网站都有哪些企业网站的开发与应用
  • 织梦做网站被告如何再工商局网站做设备抵押