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

鞋网站建设方案河南定制网站建设企业

鞋网站建设方案,河南定制网站建设企业,wordpress批量tag,电商货源网站大全外观模式 文章目录 外观模式什么是外观模式示例 什么是外观模式 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用 Facade 外观类 知道哪些子系统类负责处理请求,将客…

外观模式

文章目录

  • 外观模式
    • 什么是外观模式
    • 示例

什么是外观模式

外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用

Facade 外观类

知道哪些子系统类负责处理请求,将客户的请求代理给适当的子系统对象

SubSystem Classes 子系统类集合

实现子系统的功能,处理Facade对象指派的任务。注意子类中没有Facade的任何信息,即没有对Facade对象的引用

示例

外观模式(Facade Pattern)是一种结构设计模式,它为子系统中的一组接口提供了一个统一的高层接口,简化了外部对子系统的访问。以下是一个使用 Java 实现外观模式的示例,以简化对音乐播放系统的操作为例:

1.定义音乐播放系统中的各个子系统组件接口:

// 音乐播放器
public interface MediaPlayer {// 播放void play();// 停止void stop();// 暂停void pause();
}
public interface CDPlayer {void playCD(String title);void stopCD();// 弹出void ejectCD();
}
// 收音机
public interface Radio {// 频道void tuneFrequency(int frequency);void turnOn();void turnOff();
}

2.实现子系统组件:

public class CDPlayerImpl implements CDPlayer {@Overridepublic void playCD(String title) {System.out.println("Playing CD: " + title);}@Overridepublic void stopCD() {System.out.println("Stopping CD playback.");}@Overridepublic void ejectCD() {System.out.println("Ejecting CD.");}
}
public class RadioImpl implements Radio {@Overridepublic void tuneFrequency(int frequency) {System.out.println("Tuning radio to frequency: " + frequency);}@Overridepublic void turnOn() {System.out.println("Turning on the radio.");}@Overridepublic void turnOff() {System.out.println("Turning off the radio.");}
}

3.创建音乐播放系统的外观类(Facade),封装子系统组件的操作:

public class MusicPlayerFacade {private CDPlayer cdPlayer;private Radio radio;public MusicPlayerFacade(CDPlayer cdPlayer, Radio radio) {this.cdPlayer = cdPlayer;this.radio = radio;}public void playCD(String title) {cdPlayer.playCD(title);}public void stopMusic() {cdPlayer.stopCD();radio.turnOff();}public void playRadio(int frequency) {radio.turnOn();radio.tuneFrequency(frequency);}
}

4.在客户端代码中,通过外观类 MusicPlayerFacade 简化对音乐播放系统的操作:

public class MusicPlayerDemo {public static void main(String[] args) {CDPlayer cdPlayer = new CDPlayerImpl();Radio radio = new RadioImpl();MusicPlayerFacade musicPlayer = new MusicPlayerFacade(cdPlayer, radio);musicPlayer.playCD("My Favorite Album");musicPlayer.stopMusic();musicPlayer.playRadio(103.);}
}

运行 MusicPlayerDemo 类的 main 方法,输出结果应为:

Playing CD: My Favorite Album
Stopping CD playback.
Turning off the radio.
Tuning radio to frequency: 103.Ⅲ

在这个示例中,MusicPlayerFacade 类作为外观角色,为 CDPlayer 和 Radio 子系统提供了简洁的接口,使得客户端无需直接与子系统交互,简化了系统的使用。

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

相关文章:

  • 企业做网站属于广告宣传费吗孟村县做网站价格
  • 广州那家做网站最好wordpress默认插件
  • 深圳企业建站公司wordpress对php版本
  • 网站制作 牛商网网站留言系统是怎么做的
  • 亚马逊如何做折扣网站的营销做网站开发要学什么
  • 正规的扬中网站建设网站的图片要会员才能下载怎么做
  • 用织梦做的网站怎样看cdr做好排班怎么做网站
  • 网站推广的主题网络营销八大职能
  • 视频模板网站网络优化基础知识
  • 做母婴产品哪个网站做的好保定网站设计优势
  • 什么网站可以找人做设计师建设网站后期需要哪些
  • 搜索视频 网站开发做不做我女朋友的网站
  • 常州建网站农产品品牌建设
  • 网站开发多少钱一个月一家专门做打折的网站
  • 国内产品网站w源码1688广州怎么做网站
  • 六安网站制作公司排名网站页面设计图是用什么软件画的
  • 广州手机网站制作手机网站返回跳转页面代码
  • 公路水运建设质量与安全监督系统网站不买服务器做网站
  • 地方门户网站源码下载国外文创产品设计
  • 腾讯云快速建站wordpress 制作widget
  • 空间网站建设想自己做网站怎么做
  • 点蜜免费空间上传网站建设第三方公众号平台网站教程
  • 建网站多少钱一个平台ios网站开发工具有哪些
  • 垦利县建设局网站网站流量查询 优帮云
  • 大厂县网站建设或SEO优化爱吖网
  • 移动端网站交互效果最好的镇江seo网站
  • 社区网站的推广方案什么的网站策划
  • 手机页面网站模板怎么卖wordpress同步社交
  • 网站上传后如何设置首页友情链接又称
  • 小型网站维护wordpress 改地址