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

建设网站50m数据库手机网站网址申请

建设网站50m数据库,手机网站网址申请,网站是先备案还是先做网站,网站关键词重要吗Linux C 054-设计模式之外观模式 本节关键字:Linux、C、设计模式、外观模式 相关库函数: 概念 外观模式(Facade),亦称“过程模式”。主张按照描述和判断资料来评价课程,关键的活动是在课程实施的全过程中…

Linux C++ 054-设计模式之外观模式

本节关键字:Linux、C++、设计模式、外观模式
相关库函数:

概念

外观模式(Facade),亦称“过程模式”。主张按照描述和判断资料来评价课程,关键的活动是在课程实施的全过程中进行观察和搜集意见,以了解人们对课程的不同看法。这种模式不限于检查教学的成果,重视描述和判断教学过程中各种复杂、动态的现象和事物。

结构

Facade
这个外观类为子系统提供一个共同的对外接口

Clients
客户对象通过一个外观接口读写子系统中各接口的数据资源。

使用场景

在以下情况下可以考虑使用外观模式:

1、设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。

2、开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。

3、维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。

优点

1、实现了子系统与客户端之间的松耦合关系。

2、客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易。

代码示例

// 为系统的一组接口提供一致的界面,使用户使用起来更加方便
// 外观模式的适用情况:
//        设计初期,有意识地将不同的层分离,层与层之间建立外观模式
//        开发阶段,子系统越来越复杂,使用外观模式创建一个简单的调用接口
//        现有的系统可能已经非常难以维护和扩展,但很多功能由十分重要,可以为其创建一个外观类,使得新系统可以方便的与其交互
// 优点:
//        实现了子系统和客户端松耦合的关系
//        客户端屏蔽了子系统的组件,减少了客户端所需处理的数据,使得子系统使用起来更加容易
//        更好的划分了设计层次,使后期的维护更加方便
// 实例:
//        当开电脑时,需要启动主机,显示器,外部设备等一系列的子部件,我们封装一个外观类,
//        调用外观类的启动接口可以将这一系列的子部件全部打开,这个外观类就好比电脑的开机按钮。关闭的思想也是同样
//
// 抽象控件类,提供接口
class Control
{
public:virtual void start() = 0;virtual void shutdown() = 0;
};
// 子控件,主机
class Host : public Control
{
public:void start() override {cout << "Host start" << endl;}void shutdown() override {cout << "Host shutdown" << endl;}
};
// 子控件,显示屏
class LCDDisplay : public Control
{
public:void start() override {cout << "LCD Display start" << endl;}void shutdown() override {cout << "LCD Display shutdown" << endl;}
};
// 子控件,外部设备
class Peripheral : public Control
{
public:void start() override {cout << "Peripheral start" << endl;}void shutdown() override {cout << "Peripheral shutdown" << endl;}
};
class ComputerFacade
{
public:void start() {m_host.start();m_display.start();m_peripheral.start();cout << "Computer start" << endl;}void shutdown() {m_host.shutdown();m_display.shutdown();m_peripheral.shutdown();cout << "Computer shutdown" << endl;}
private:Host m_host;LCDDisplay m_display;Peripheral m_peripheral;
};
int main_Facade()
{ComputerFacade computer;computer.start();computer.shutdown();return 0;
}
/* 输出结果:
Host start
LCD Display start
Peripheral start
Computer start
Host shutdown
LCD Display shutdonw
Peripheral shutdown
Computer shutdown
*/
http://www.yayakq.cn/news/542449/

相关文章:

  • html5手机网站开发宽带专家网站
  • 免费领取手机网站阿里云域名续费
  • 宿迁网站建设开发做软装找图片的网站
  • 谷歌外贸网站怎么自己编程做网站
  • 中式设计网站推荐贵州小程序制作开发
  • 网站开发 性能方面wordpress多语言内容添加
  • 韶关房地产网站建设wordpress第三性
  • 高端网站建设的图片产品网站建设设计方案
  • 做代理记账网站tk域名官方网站
  • 如何自己做直播网站广州市建设局官方网站
  • 网站技术方案怎么写孝感应城网站建设
  • 开州快速建网站wordpress zhognwen
  • 网站添加微信支付成都软件外包开发
  • 网站免费空间申请单页网站制作工具
  • 建设包银行官方网站成都高端模板建站
  • 查询网站所有关键词排名哪家公司做网站结算好
  • 免费网站推广软件怎么制作网站链接转发视频
  • 网站一直没收录自己做的网站怎么取sql数据
  • 蜜淘app在那个网站做的农村自建房设计图 效果图
  • 做网站初中友情链接交换的作用在于
  • 网站推广攻略什么是网络营销的渠道策略
  • 重庆便宜网站建设南京网站公司哪家好
  • 手机网站开发前台架构seo网站做推广价格
  • 北京微网站建设设计服务商寿光网站建设公司
  • wordpress个人下载网站怎样用电脑ip做网站
  • 网站建设是自学好还是网站优化报告
  • 做网站需要的素材资料无锡黄页网
  • 搭建 wiki wordpress企业seo的措施有哪些
  • 分析网站网站网页系统
  • xx市院门户网站建设方案低功耗集成主板做网站