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

杭州网站推广方式网页游戏源码怎么用

杭州网站推广方式,网页游戏源码怎么用,wordpress站点地址修改,传奇网页游戏网系列文章目录 (其他设计模式可以到 👉👉👉)设计模式_小杰不秃头的博客 😊😄😛 前言 今天继续给大家介绍23种设计模式中的适配器模式,这个模式相比于其他模式比较好理解…

系列文章目录

(其他设计模式可以到 👉👉👉)设计模式_小杰不秃头的博客  😊😄😛


前言

今天继续给大家介绍23种设计模式中的适配器模式,这个模式相比于其他模式比较好理解,我们一起来学习一下吧。🌈


一、什么是适配器模式

适配器模式(Adapter Pattern):适配器模式是一种结构型设计模式,它允许一个类的接口与另一个类的接口不兼容时,创建一个中间的类来适配这些不兼容的接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

二、有哪些应用场景呢

应用场景

  • 旧代码与新代码之间的适配:当新代码需要调用旧代码,但两者接口不兼容时。
  • 多个类具有相似的功能,但接口不兼容:为了统一接口,可以使用适配器模式。
  • 使用第三方库:当使用的第三方库提供的接口与自己的代码不兼容时。
  • 功能增强或扩展:当需要为某个类添加额外的功能,而这些功能在原始类中并不存在时,可以使用适配器模式来创建一个新的适配器类

三、实战案例

我就举一个简单的例子,假设我们有一个老式的OldMediaPlayer类,它只能播放mp3文件,但我们希望它也能播放wav文件。为此,我们可以创建一个AudioAdapter类,它实现了MediaPlayer接口(这是我们想要的新接口),并在内部使用OldMediaPlayer类来播放mp3文件,同时对于wav文件,我们可以使用其他逻辑(比如转换成mp3或直接使用其他播放器)。

创建OldMediaPlayer类:

// 适配者类(现有的类,需要被适配)
public class OldMediaPlayer {public void playMp3(String filename){System.out.println("Playing Mp3 File:" + filename);}
}

 接着创建MediaPlayer接口:

interface MediaPlayer {void play(String audioType, String fileName);
}

最后创建AudioAdapter类:

//适配器类,在原有OldMediaPlayer 的功能上添加新的功能
public class AudioAdapter implements MediaPlayer{private OldMediaPlayer oldMediaPlayer;public AudioAdapter() {//AudioAdapter创建时实例化OldMediaPlayerthis.oldMediaPlayer = new OldMediaPlayer();}@Overridepublic void play(String audioType, String fileName) {if ("mp3".equalsIgnoreCase(audioType)){oldMediaPlayer.playMp3(fileName);}else if ("wav".equalsIgnoreCase(audioType)){//拓展新的播放类型System.out.println("Playing Wav file: " + fileName );}}
}

测试

void test1(){AudioAdapter audioAdapter = new AudioAdapter();audioAdapter.play("mp3","小苹果.mp3");audioAdapter.play("wav","小苹果.wav");}/*测试结果:Playing Mp3 File:小苹果.mp3Playing Wav file: 小苹果.wav
*/

总结

相比到这里大家对适配器模式有了一定的了解,那么我们来总结一下它的优缺点

优点

  • 灵活性:通过适配器,可以轻松地集成来自不同源的类,而无需修改它们的源代码。
  • 可复用性:适配器可以被多个不兼容的类复用。
  • 解耦:适配器将目标接口和适配者类解耦,使得它们可以独立地变化。

缺点

  • 增加系统的复杂性:引入适配器可能会使系统更加复杂。
  • 代码可能变得难以维护:如果适配器过多,或者适配器逻辑复杂,可能会增加维护的难度。

它的优点很明显,但是任何设计模式都有优缺点,虽然它能够帮助我们适配新旧功能,但是过多使用适配器反而适得其反,所以,大家在使用设计模式的时候一定要再三考虑。

http://www.yayakq.cn/news/152448/

相关文章:

  • 集团网站网站底部浮动
  • 网站有版权吗进去了
  • 外贸公司如何做网站dw做网站首页代码
  • 四川省城乡住房和城乡建设厅网站百度商桥怎么添加到网站
  • 网站建设公司招网站设计网站推广是什么岗位
  • 电商培训类网站模板下载企业咨询公司经营范围
  • 网站使用帮助专业网站建站公司
  • 网站建设页面设计九亭做网站
  • 泸州网站建设唐网互联蚌埠企业网站建设套餐
  • 自助建站模板模板王字库
  • 信息发布型网站是企业网站的什么佛山网站制作网页
  • 做网站的收钱不管了广州网络营销公司推荐
  • 深圳网站做优化哪家公司好什么网站上公司的评价最客观
  • 网站开发公司怎么接单子微信公众号管理平台官网
  • 网站开发运营策划案wordpress站点错误
  • 包头网站建设平台广和定制高端网站建设服务商
  • 西北舜天建设有限公司网站网站建设与管理习题一
  • 购物网站建设咨询wix做网站步骤
  • 江西中创建设工程有限公司网站上海模板网站套餐
  • 网站服务器时间查询工具能访问各种网站的浏览器
  • 哪些网站做的比较好看的图片wordpress电影主题免费下载
  • 网站设计与开发未来发展方向网络营销的10个特点
  • dede新手做网站多久网站导航栏特效
  • 外贸网站平台seo推广密云seo排名优化培训
  • 产品宣传型企业网站怎么建设企业电子商务网站的建设阶段
  • 网站给部分文字做遮挡代码网络站点推广的方法有哪些
  • 呼和浩特网站优化公司百度地图怎么看上次导航的路线
  • 网上书城网站开发背景网站建设案例
  • 做网站教程百度云网络推广是做什么工作
  • 电子商务网站开发课程穿山甲广告联盟