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

h5个人网站源码跨境电商卖什么产品最赚钱

h5个人网站源码,跨境电商卖什么产品最赚钱,电子商务网站建设asp,道滘做网站适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 优缺点 优点: 单一职责原则。你可以将接口或数据转换代码从程序主要业务逻辑中分…

适配器模式

适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。

优缺点

优点:
  • 单一职责原则。你可以将接口或数据转换代码从程序主要业务逻辑中分离。
  • 开闭原则。只要客户端代码通过客户端接口与适配器进行交互, 你就能在不修改现有客户端代码的情况下在程序中添加新类型的适配器。
缺点
  • 代码整体复杂度增加, 因为你需要新增一系列接口和类。 有时直接更改服务类使其与其他代码兼容会更简单。

应用实例

普通音频播放器设备只能播放 mp3 文件,通过使用一个更高级的音频播放器来播放 vlc 和 mp4 文件。

代码实现

类适配器:基于继承方式

  1. 为普通音频播放器和更高级的音频播放器创建接口。
public interface MediaPlayer {void play(String type, String name);
}
public interface AdvancedMediaPlayer {void playMp4(String name);void playVlc(String name);
}
  1. 创建 AdvancedMediaPlayer 接口的实现类。
public class AdvancedPlayer implements AdvancedMediaPlayer {@Overridepublic void playMp4(String name) {System.out.println("play mp4 " + name);}@Overridepublic void playVlc(String name) {System.out.println("play vlc " + name);}
}
  1. 创建 MediaPlayer 接口的适配器类。
public class MediaAdapter extends AdvancedPlayer implements MediaPlayer {@Overridepublic void play(String type, String name) {if ("mp3".equals(type)){System.out.println("play mp3 " + name);}else if ("mp4".equals(type)){super.playMp4(name);}else if ("vlc".equals(type)){super.playVlc(name);}else {System.out.println("not supported");}}
}
  1. 使用 MediaAdapter 来播放不同类型的音频格式。
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");}
}
  1. 执行程序,输出结果
    在这里插入图片描述

对象适配器:基于组合

  1. 为普通音频播放器和更高级的音频播放器创建接口。
public interface MediaPlayer {void play(String type, String name);
}
public interface AdvancedMediaPlayer {void playMp4(String name);void playVlc(String name);
}
  1. 创建 AdvancedMediaPlayer 接口的实现类。
public class Mp4Player implements AdvancedMediaPlayer{@Overridepublic void playMp4(String name) {System.out.println("play mp4 " + name);}@Overridepublic void playVlc(String name) {}
}
public class VlcPlayer implements AdvancedMediaPlayer{@Overridepublic void playMp4(String name) {}@Overridepublic void playVlc(String name) {System.out.println("play vlc " + name);}
}
  1. 创建 MediaPlayer 接口的适配器类。
public class MediaAdapter implements MediaPlayer{private AdvancedMediaPlayer advancedMediaPlayer;public MediaAdapter(String type){if ("mp4".equals(type)){advancedMediaPlayer = new Mp4Player();}else if ("vlc".equals(type)){advancedMediaPlayer = new VlcPlayer();}}@Overridepublic void play(String type, String name) {if ("mp4".equals(type)){advancedMediaPlayer.playMp4(name);}else if ("vlc".equals(type)){advancedMediaPlayer.playVlc(name);}}
}
  1. 创建 MediaPlayer 接口的实现类。
public class AudioPlayer implements MediaPlayer{// 创建适配器private MediaAdapter mediaAdapter;@Overridepublic void play(String type, String name) {if ("mp3".equals(type)){System.out.println("play mp3 " + name);}else if ("mp4".equals(type) || "vlc".equals(type)){mediaAdapter = new MediaAdapter(type);mediaAdapter.play(type,name);}else {System.out.println("not supported");}}
}
  1. 使用 AudioPlayer 来播放不同类型的音频格式。
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");}
}
  1. 执行程序,输出结果
    在这里插入图片描述
http://www.yayakq.cn/news/481440/

相关文章:

  • 深泽网站建设wordpress 多语言插件
  • 毕业设计网站开发类题目wordpress音乐页面下载文件
  • 遂宁建设局网站首页东莞网站排名优化公司
  • 盐城网站建设价格我的家乡网页制作代码
  • 网站建设项目外包合同范本网站做反向解析
  • 校园网站建设策划书淘宝客做的最好的网站
  • 海南省住房和城乡建设部网站视频软件下载app
  • 做网站站怎么赚钱网页版传奇单职业
  • 京东网站的设计风格政务网站建设工作的通知
  • 做全景网站wordpress使用百度统计
  • cnzz网站建设海口网站网站建设
  • 北京建站的书荒小说阅读器是哪个网站做的
  • 吴川市规划建设局网站企业采购平台排名
  • 网站建设陆金手指下拉贰拾wordpress拖拽编辑插件
  • 易语言建设网站做网站为什么用php
  • 深圳龙岗建站公司杭州广告公司排行榜
  • 外国人做旅游攻略网站网站建设适合手机
  • 商城网站 前置审批网站后台无法上传附件
  • 软件公司都是帮别人做网站么手机网站怎样做解析
  • 网站开发的数据库技术wordpress 网站积分打赏
  • 卖摄影作品的网站河南渠道网
  • 电子商务网站建设项目的阶段的划分wordpress开启多站点好处
  • 企业网站模板官网简单个人网站
  • 宝安区建设局网站中国建设银行大学助学贷款网站
  • 提供网站建设方案国内优秀app界面设计案例
  • 唐山网站排名提升视频医疗平台网站开发
  • 深圳建设工程协会网站优化稳定网站排名
  • 网站后台附件无法上传百度网页推广费用
  • 个人建购物网站怎么备案秦淮网站建设
  • 沈阳房地产网站开发photoshop怎么做网站