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

湖州哪里做网站武汉seo网站

湖州哪里做网站,武汉seo网站,太原网站设计开发公司,做网站网页的公司目录 一、简介二、外观模式2.1、子系统2.2、外观类2.3、使用 三、优点与缺点 一、简介 外观模式(Facade Pattern)是一种结构型设计模式,提供了一个统一的接口,用于访问子系统中的一组接口。这个模式隐藏了子系统的复杂性&#xff…

目录

    • 一、简介
    • 二、外观模式
      • 2.1、子系统
      • 2.2、外观类
      • 2.3、使用
    • 三、优点与缺点

一、简介

  外观模式(Facade Pattern)是一种结构型设计模式,提供了一个统一的接口,用于访问子系统中的一组接口。这个模式隐藏了子系统的复杂性,并为客户端提供了一个更简单的接口,使得客户端与子系统之间的通信更加简单和直接。

  外观模式的主要目的是降低系统的复杂性,为客户端提供一个更加简化的接口,使得客户端不需要了解系统的内部结构和实现细节,只需通过外观类进行操作即可。在外观模式中,通常有以下几个角色:

  • Facade(外观): 外观类是客户端访问子系统的入口。它将客户端的请求委派给子系统中的相应对象,协调子系统对象完成任务。

  • Subsystem(子系统): 子系统是具体的功能模块或者类群。它们实现了系统的各种功能,但是对于客户端来说,这些功能的实现细节是透明的。

  外观模式可以帮助解耦客户端和子系统之间的依赖关系,降低了客户端与子系统之间的耦合性,同时也提高了系统的可维护性和灵活性。通过提供一个简化的接口,外观模式使得系统更易于使用和理解。

二、外观模式

2.1、子系统

  当设计一个家庭影院系统时,可以使用外观模式来简化各个子系统(如投影仪、音响、灯光等)的操作

// 子系统:投影仪
public class Projector {public void on() {System.out.println("打开投影仪");}public void off() {System.out.println("关闭投影仪");}public void setInput(String input) {System.out.println("投影仪准备播放:" + input);}
}// 子系统:音响
class SoundSystem {public void on() {System.out.println("打开声音");}public void off() {System.out.println("关闭声音");}public void setVolume(int volume) {System.out.println("音量设置为: " + volume);}
}// 子系统:灯光
public class Lights {public void dim() {System.out.println("关闭灯光");}public void brighten() {System.out.println("打开灯光");}}

2.2、外观类

// 外观类:家庭影院外观
public class HomeTheaterFacade {private Projector projector;private SoundSystem soundSystem;private Lights lights;public HomeTheaterFacade(Projector projector, SoundSystem soundSystem, Lights lights) {this.projector = projector;this.soundSystem = soundSystem;this.lights = lights;}public void watchMovie(String movie) {System.out.println("准备看家庭影院...");lights.dim();projector.on();projector.setInput(movie);soundSystem.on();soundSystem.setVolume(16);}public void endMovie() {System.out.println("关闭家庭影院...");soundSystem.off();projector.off();lights.brighten();}
}

2.3、使用

// 测试类
public class FacadeHomeTheaterExample {public static void main(String[] args) {Projector projector = new Projector();SoundSystem soundSystem = new SoundSystem();Lights lights = new Lights();HomeTheaterFacade homeTheater = new HomeTheaterFacade(projector, soundSystem, lights);// 看电影homeTheater.watchMovie("战狼");// 结束电影homeTheater.endMovie();}
}

运行结果:

准备看家庭影院...
关闭灯光
打开投影仪
投影仪准备播放:战狼
打开声音
音量设置为: 16
关闭家庭影院...
关闭声音
关闭投影仪
打开灯光

  在这个示例中,Projector、SoundSystem、Lights 分别表示家庭影院的投影仪、音响和灯光,HomeTheaterFacade 是外观类。客户端通过调用外观类的方法来实现整个家庭影院系统的控制,而不需要直接与各个子系统进行交互。外观模式将各个子系统的操作封装起来,使得客户端更加简单地控制家庭影院。

三、优点与缺点

  外观模式是一种有用的设计模式,它有一些优点和缺点。

优点:

  • 简化接口: 外观模式为复杂系统提供了一个简单的接口,隐藏了系统的复杂性,使得客户端更容易使用系统。
  • 降低耦合性: 外观模式可以降低客户端与子系统之间的耦合度,因为客户端只需与外观类进行交互,而不需要直接与多个子系统交互。
  • 更好的封装性: 外观模式能够将系统的内部细节封装起来,避免暴露给客户端,提高了系统的安全性和可靠性。
  • 易于使用: 对于客户端来说,使用外观模式更加直观和易于理解,不需要了解系统的内部结构和实现细节。

缺点:

  • 不符合开闭原则: 在需要新增或修改子系统的功能时,可能需要修改外观类,这可能违反了开闭原则,导致外观类的修改。
  • 可能引入单点故障: 如果外观类出现问题,可能影响整个系统,因为外观类控制了整个子系统的访问。
  • 可能增加系统复杂性: 如果外观类设计不当,可能会导致外观类本身也变得复杂,难以维护和理解。

  总的来说,外观模式适合在需要简化客户端与复杂系统之间交互的场景下使用,但需要注意合理设计外观类,避免引入过度复杂性和耦合度。

http://www.hkea.cn/news/781683/

相关文章:

  • 如何自行建设网站推广关键词优化
  • 建设学院网站百度收录关键词查询
  • 有关外贸的网站有哪些内容武汉抖音seo搜索
  • 娄底网站建设的话术深圳网站关键词排名优化
  • 福田大型商城网站建设seo营销方法
  • 网站开发专业就业指导企业网站设计与实现论文
  • 网络营销方式的思维导图seo关键词优化系统
  • wordpress访客ip记录福清市百度seo
  • 网站下载速度慢互联网广告推广公司
  • 电影网站空间配置网络营销的工具和方法有哪些
  • 包装设计网站免费百度seo搜索引擎优化厂家
  • 免费做公司网站sem对seo的影响有哪些
  • 网站空间购买费用关键词优化计划
  • 网站制作可以卖多少钱陕西网站建设制作
  • 深圳中小企业网站制作谷歌海外广告投放
  • 做游戏网站的需求分析创建app平台
  • 青岛胶南做网站的有多少seo商学院
  • 二月网站建设南宁百度个人中心登录
  • 如何在相关网站免费做宣传广告免费建立个人网站官网
  • 做搜狗网站优化首自己建立网站步骤
  • 企业资质查询官方网站最好的小说网站排名
  • 乐平网站设计北京互联网公司
  • 朝阳企业网站建设方案费用郑州网络营销学校
  • 建站行业发展百度广告代运营
  • 如何做积分商城网站鸡西seo顾问
  • p2p网站开发文档免费b站软件下载
  • 有没有做q版头像的网站今天百度数据
  • wordpress页面修改插件seo顾问阿亮
  • 政府门户网站建设标准国际婚恋网站排名
  • 上海青浦网站建设郑州靠谱seo电话