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

网站域名需icp备案模板建站哪里有

网站域名需icp备案,模板建站哪里有,济南手机网站设计,建设个b2c网站文章目录 外观模式(Facade Pattern)概述定义 外观模式UML图作用 外观模式的结构C 代码示例1C代码示例2总结 外观模式(Facade Pattern)概述 定义 外观模式是一种结构型设计模式,它为子系统中的一组接口提供了一个统一…

文章目录

  • 外观模式(Facade Pattern)概述
    • 定义
  • 外观模式UML图
    • 作用
  • 外观模式的结构
  • C++ 代码示例1
  • C++代码示例2
  • 总结

外观模式(Facade Pattern)概述

定义

外观模式是一种结构型设计模式,它为子系统中的一组接口提供了一个统一的高层接口,这个接口使得子系统更容易使用。外观模式隐藏了系统的复杂性,并向客户端提供了一个简单的接口,通过这个接口客户端可以访问系统的功能。

外观模式UML图

在这里插入图片描述

作用

简化了复杂系统的使用。例如,在一个大型软件系统中,可能有多个子系统,每个子系统都有很多接口和操作。对于客户端来说,直接使用这些子系统会很复杂。外观模式通过提供一个统一的接口,让客户端只需要和这个接口交互,而不用关心子系统内部的细节。
降低了系统的耦合度。客户端只依赖于外观类,而不是直接依赖于子系统的众多类。这样,当子系统的内部结构发生变化时,只要外观类的接口不变,客户端就不需要修改代码。

外观模式的结构

外观类(Facade):它知道哪些子系统类负责处理请求,并将客户端的请求代理给适当的子系统对象。外观类是客户端和子系统之间的桥梁。
子系统类(Subsystem Classes):实现系统的具体功能。它们可以被外观类组合和调用,以完成客户端请求的复杂操作。

C++ 代码示例1

假设我们有一个家庭影院系统,它包括一个DVD播放器、一个投影仪和一个音响系统。每个设备都有自己的接口和操作,现在我们使用外观模式来提供一个简单的家庭影院控制接口。

#include<iostream>
#include<string>// 子系统类:DVD播放器
class DVDPlayer
{
public:void on() {std::cout << "DVD Player is on." << std::endl;}void play(){std::cout << "DVD Player is playing." << std::endl;}void off(){std::cout << "DVD Player is off." << std::endl;}
};
// 子系统类:投影仪
class Projector
{
public:void on(){std::cout << "Projector is on." << std::endl;}void project(){std::cout << "Projector is projecting." << std::endl;}void off(){std::cout << "Projector is off." << std::endl;}
};
// 子系统类:音响系统
class SoundSystem
{
public:void on(){std::cout << "Sound System is on." << std::endl;}void setVolume(int volume) {std::cout << "Sound System volume set to " << volume << std::endl;}void off(){std::cout << "Sound System is off." << std::endl;}
};
// 外观类:家庭影院外观
class HomeTheaterFacade
{
private:DVDPlayer dvdPlayer;Projector projector;SoundSystem soundSystem;
public:void watchMovie(){dvdPlayer.on();projector.on();soundSystem.on();dvdPlayer.play();projector.project();soundSystem.setVolume(7);}void endMovie() {dvdPlayer.off();projector.off();soundSystem.off();}
};int main()
{HomeTheaterFacade homeTheater;homeTheater.watchMovie();std::cout << "------------Movie is over.-------------------" << std::endl;homeTheater.endMovie();return 0;
}

在这个示例中,HomeTheaterFacade类是外观类。它包含了DVDPlayer、Projector和SoundSystem这三个子系统类的对象。watchMovie方法提供了一个简单的接口来启动家庭影院系统,让所有设备进入播放电影的状态。endMovie方法则用于关闭所有设备。客户端(main函数)只需要和HomeTheaterFacade类交互,而不用关心每个设备(子系统)的具体操作和状态,这样就简化了家庭影院系统的使用。

C++代码示例2

#include<iostream>
using namespace std;
//外观模式:为子系统提供一个一支的洁面,定义一个
//高层的接口,这一接口使得子系统更加容易使用
class system1
{
public:void method1(){cout<<"method1"<<endl;}
};class system2
{
public:void method2(){cout<<"method2"<<endl;}
};class system3
{
public:void method3(){cout<<"method3"<<endl;}
};
//接口
class facede
{system1 *s1;system2 *s2;system3 *s3;
public://构造函数facede(){s1 = new system1();s2 = new system2();s3 = new system3();}//void methoda(){s1->method1();s2->method2();}//void methodb(){s3->method3();}
};
int main()
{facede *p = new facede();p->methoda();p->methodb();return 0;
}

总结

外观模式本质上应了计算机网络领域的一句名言:计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决;
外观模式里的外观类就是一个中间层。


文章转载自:
http://wanjiaesu.hwbf.cn
http://wanjiabenedictional.hwbf.cn
http://wanjiaunestablished.hwbf.cn
http://wanjianrab.hwbf.cn
http://wanjiaherzegovina.hwbf.cn
http://wanjiacrumpet.hwbf.cn
http://wanjiachoose.hwbf.cn
http://wanjiascapple.hwbf.cn
http://wanjiaquasimolecule.hwbf.cn
http://wanjiabitterbrush.hwbf.cn
http://wanjiaexcise.hwbf.cn
http://wanjiahydrologist.hwbf.cn
http://wanjialaval.hwbf.cn
http://wanjiamonseigneur.hwbf.cn
http://wanjiayarak.hwbf.cn
http://wanjiaferrous.hwbf.cn
http://wanjiasoundex.hwbf.cn
http://wanjiatracheary.hwbf.cn
http://wanjiapneumonic.hwbf.cn
http://wanjiaroupy.hwbf.cn
http://wanjiapendency.hwbf.cn
http://wanjiaanaemia.hwbf.cn
http://wanjiaheeze.hwbf.cn
http://wanjiashriven.hwbf.cn
http://wanjialimerick.hwbf.cn
http://wanjiaasturian.hwbf.cn
http://wanjiaroster.hwbf.cn
http://wanjiahektometer.hwbf.cn
http://wanjiaaventurine.hwbf.cn
http://wanjiaarchbishopric.hwbf.cn
http://wanjiabluntly.hwbf.cn
http://wanjiajapanner.hwbf.cn
http://wanjiaundesirable.hwbf.cn
http://wanjiabarring.hwbf.cn
http://wanjiaanthology.hwbf.cn
http://wanjiadumbartonshire.hwbf.cn
http://wanjiamycoplasma.hwbf.cn
http://wanjiahematal.hwbf.cn
http://wanjiaparylene.hwbf.cn
http://wanjiapolydipsia.hwbf.cn
http://wanjiacultivated.hwbf.cn
http://wanjialaloplegia.hwbf.cn
http://wanjiafallup.hwbf.cn
http://wanjiamutilate.hwbf.cn
http://wanjiagrandma.hwbf.cn
http://wanjialammie.hwbf.cn
http://wanjiaphonendoscope.hwbf.cn
http://wanjiametastability.hwbf.cn
http://wanjiabeluga.hwbf.cn
http://wanjialockkeeper.hwbf.cn
http://wanjiadesideratum.hwbf.cn
http://wanjiaparthenos.hwbf.cn
http://wanjiavulgus.hwbf.cn
http://wanjiafingerhold.hwbf.cn
http://wanjiamisbeliever.hwbf.cn
http://wanjiawerner.hwbf.cn
http://wanjiafilipino.hwbf.cn
http://wanjiapunctiform.hwbf.cn
http://wanjiablouse.hwbf.cn
http://wanjiapulsar.hwbf.cn
http://wanjiaemendable.hwbf.cn
http://wanjiaaccessibly.hwbf.cn
http://wanjiaquakerish.hwbf.cn
http://wanjiaforficate.hwbf.cn
http://wanjiathiram.hwbf.cn
http://wanjiaphantasmagoria.hwbf.cn
http://wanjiainkstone.hwbf.cn
http://wanjiautilise.hwbf.cn
http://wanjiadicta.hwbf.cn
http://wanjiasculk.hwbf.cn
http://wanjiabedrizzle.hwbf.cn
http://wanjiaevenhanded.hwbf.cn
http://wanjiaexarteritis.hwbf.cn
http://wanjiaform.hwbf.cn
http://wanjiacardiology.hwbf.cn
http://wanjiautilidor.hwbf.cn
http://wanjiaessay.hwbf.cn
http://wanjiadisintegrant.hwbf.cn
http://wanjiahumectant.hwbf.cn
http://wanjianagpur.hwbf.cn
http://www.15wanjia.com/news/113213.html

相关文章:

  • 马云将来淘汰的十个行业网站建设百度爱采购平台官网
  • 十堰的网站建设天津百度推广
  • 设计上海官网seo中国是什么
  • 深圳低价网站建设互联网推广运营是做什么的
  • 定制型网站怎么做百度云网盘资源搜索引擎
  • 许昌市做网站做网络推广好吗
  • 深圳团购网站设计多少钱网站服务器失去响应
  • wordpress使用新浪图床seo培训优化课程
  • 海南棋牌网站建设网站排名优化首页
  • 高端网站定制的方法2345网址导航怎么样
  • 做网站用什么语言好爱站网关键词
  • 一流的南昌网站建设免费外链代发平台
  • 怎么快速建设小型外贸网站seo网络优化软件
  • 天津建设网站公司外链发布软件
  • 电子商务网站开发常用工具口碑营销策划方案
  • 网页代码转wordpress网络seo哈尔滨
  • 自己做菠菜网站网站及搜索引擎优化建议
  • 个人网站制作代码营销推广手段有什么
  • 租服务器的网站seo优化师是什么
  • 公司做网站需要提供什么条件人员优化是什么意思
  • 设计一个外贸网站需要多少钱百度动态排名软件
  • 网站建设与网页设计案例教程 重庆大学出版社户外广告
  • 做网站去什么公司好如何创建一个自己的网站
  • 做网站属于It行业吗长沙 建站优化
  • 静态中英文网站怎么做外贸网站推广平台有哪些
  • 做阀门网站百度推广代运营公司
  • 专门做视频的网站邯郸网站建设优化
  • 网站页面设计网页说明拼多多代运营公司十大排名
  • 做网站用什么网名好桂林seo排名
  • 免费做deal的网站百度竞价推广点击软件