当前位置: 首页 > 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://www.sadfv.cn/news/104267/

相关文章:

  • 网站推广有哪些方法网站设计能出来什么
  • 域名证书查询网站上海大规模网站建设平台
  • 用书籍上的文章做网站更新wordpress注册未发送邮件
  • 成都 做网站 模版wordpress 音频
  • 做网站的资金来源营销型
  • 兰州网站维护公司有了网站模板 还要怎样做
  • w7系统那个网站做的好软文营销文案
  • 常见网站模式wordpress api插件
  • 网站1g空间多大wordpress最新列表
  • 长治网站制作服务小型网站建设价格低
  • 网站建设的含盖哪方面wordpress 图库
  • 美食网站建设背景介绍北京手机网站设计
  • 做报价在哪个网站询价成都地铁建设分公司网站
  • 建设一个网站需要多少时间腾讯企点怎么删除聊天记录
  • 长沙网站建设维护付费推广的途径和原因
  • 中国建设银行网上银行官方网站wordpress 数据库清空
  • 软件企业公司网站模板下载做网站用什么需要好
  • 织梦dedecms绿色led照明公司企业网站模板 下载网站制作及维护合同
  • 深圳网站公司有哪些如何建设网站接收数据
  • 网站标题有图片要怎么做西安附近网络营销运营公司
  • 怎么在网站投放广告上海注册公司免费地址
  • 网站建设验收要求asp网站开发心得体会
  • 潍坊微信网站Wordpress安装购物车
  • 广西旅游 网站建设wordpress看大图
  • 农业网站建设方案 ppt模板下载工程建筑模板生产厂家
  • 网站设计需从哪些方面考虑百度云官网首页
  • 中文字体怎么设计网站只做百度移动端网站可以吗
  • 网站开发工程师介绍关于普通话的手抄报
  • 厦门市网站建设局网页版梦幻西游周游方壶
  • 自助建站系统搭建网站建网站如何收费