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

珠市口网站建设中国企业500强排行榜完整榜单

珠市口网站建设,中国企业500强排行榜完整榜单,电商实训网站建设报告,装修装饰网站建设外观模式 (Facade) 外观模式 是一种结构型设计模式#xff0c;为子系统中的一组接口提供一个一致的界面。外观模式定义了一个更高层次的接口#xff0c;使得子系统更容易使用。 意图 简化复杂子系统的接口。为客户端提供一个统一的入口#xff0c;屏蔽子系统的内部细节。 …外观模式 (Facade) 外观模式 是一种结构型设计模式为子系统中的一组接口提供一个一致的界面。外观模式定义了一个更高层次的接口使得子系统更容易使用。 意图 简化复杂子系统的接口。为客户端提供一个统一的入口屏蔽子系统的内部细节。 使用场景 隐藏复杂性 系统的子系统结构复杂客户端需要简化与子系统的交互。 提供统一接口 多个子系统有多个接口外观模式统一了接口简化了调用。 降低耦合性 客户端与子系统直接耦合通过外观模式降低依赖。 参与者角色 外观 (Facade) 为客户端提供一个简单的接口隐藏子系统的复杂性。 子系统 (Subsystem) 子系统的具体实现包含实际业务逻辑。子系统可能被多个外观类调用。 客户端 (Client) 通过外观类与子系统交互无需直接访问子系统。 示例代码 以下代码展示了如何使用外观模式简化对一个家庭影院子系统的操作。 #include iostream #include string// 子系统类DVD播放器 class DVDPlayer { public:void on() {std::cout DVD Player is ON. std::endl;}void off() {std::cout DVD Player is OFF. std::endl;}void play(const std::string movie) {std::cout Playing movie: movie std::endl;} };// 子系统类音响 class SoundSystem { public:void on() {std::cout Sound System is ON. std::endl;}void off() {std::cout Sound System is OFF. std::endl;}void setVolume(int level) {std::cout Setting volume to level std::endl;} };// 子系统类灯光 class Lighting { public:void dim() {std::cout Lights are dimmed. std::endl;}void on() {std::cout Lights are ON. std::endl;} };// 外观类家庭影院外观 class HomeTheaterFacade { private:DVDPlayer* dvdPlayer;SoundSystem* soundSystem;Lighting* lighting;public:HomeTheaterFacade(DVDPlayer* dvd, SoundSystem* sound, Lighting* light): dvdPlayer(dvd), soundSystem(sound), lighting(light) {}void watchMovie(const std::string movie) {std::cout Get ready to watch a movie... std::endl;lighting-dim();soundSystem-on();soundSystem-setVolume(5);dvdPlayer-on();dvdPlayer-play(movie);}void endMovie() {std::cout Shutting down the home theater... std::endl;dvdPlayer-off();soundSystem-off();lighting-on();} };// 客户端代码 int main() {// 创建子系统对象DVDPlayer dvdPlayer;SoundSystem soundSystem;Lighting lighting;// 创建外观对象HomeTheaterFacade homeTheater(dvdPlayer, soundSystem, lighting);// 使用外观模式homeTheater.watchMovie(Inception);homeTheater.endMovie();return 0; }代码解析 1. 子系统类 DVDPlayer、SoundSystem 和 Lighting 是子系统的具体实现提供了功能性接口。每个子系统类都独立完成自己的职责。 2. 外观类 HomeTheaterFacade 是外观类封装了多个子系统的操作。提供了简化的接口 watchMovie 和 endMovie让客户端能够轻松调用复杂子系统。 3. 客户端 客户端直接调用外观类的方法而不需要关心子系统的内部逻辑。 优缺点 优点 简化接口 客户端通过外观类与子系统交互降低了使用难度。 松散耦合 客户端与子系统之间的耦合性降低通过外观类隔离依赖。 更好的划分子系统 外观类将子系统的实现细节隐藏起来让系统更清晰。 缺点 增加额外类 引入外观类增加了系统的类数量。 过度设计 如果子系统本身不复杂引入外观类可能是多余的。 适用场景 子系统复杂性较高 客户端需要调用多个子系统的接口外观模式可以简化调用流程。 解耦客户端和子系统 客户端通过外观类与子系统交互降低了直接依赖。 为遗留代码提供兼容接口 通过外观模式可以为复杂的旧系统提供一个简单的接口。 总结 外观模式通过为子系统提供一个统一的接口简化了客户端与子系统的交互。它适用于需要简化复杂子系统或提供统一访问方式的场景是一种非常实用的设计模式。
http://www.w-s-a.com/news/28653/

相关文章:

  • 东乡做网站常州网络公司联系方式
  • 做网站激励语家居装饰网站设计论文
  • 镜像的网站怎么做排名无极网站建设质量
  • 奉贤集团公司网站建设小工具文本wordpress
  • 不用代码做网站网站建设和运行费用
  • 阜阳网站开发招聘网站建设合作协议申请
  • 电子配件 技术支持 东莞网站建设wordpress 生成html代码
  • 网站用免费空间好不好网站建设的视频
  • 网站开发项目职责门户资源分享网站模板
  • 建网站需要什么语言如何做二维码跳转到网站
  • 天津建设交培训中心网站做网站起名字
  • 黑河北京网站建设湛江市住房和城乡建设局网站
  • 网站建设拾金手指下拉十九企业查询官网
  • 邢台提供网站建设公司哪家好五合一建站
  • 京东网站设计代码驻马店做网站的公司
  • 织梦网站模板使用教程福州网站建设工作
  • 做网站要准备的需求asp 网站后台
  • 滨州网站开发公司中立建设集团有限公司网站
  • 泰安建设厅网站做网站为什么要建站点
  • 有什么好的手机推荐网站创建网站需要哪些工作
  • 网站能给企业带来什么上饶市网站建设公司
  • 学做网站卖东西去哪学南宁网站建设gxjzdrj
  • 欧美网站建设案例网站开发 男生
  • 网站正在开发中做电子元器件的网站
  • 做网站搭建的公司中国建设银行官网站u盾证书
  • 大连哪里有手机自适应网站建设公司网站介绍模板 html
  • 佛山模板建站宣传片制作公司电话
  • 文字网站居中能自己做网站接业务吗
  • 免备案自助建站网站广州珈瑶公司是哪一年注册的
  • ps做网站界面wordpress为图片添加圆角