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

流程图在线制作工具百度关键词优化查询

流程图在线制作工具,百度关键词优化查询,网站空间商排行榜,网站做系统定义 为子系统中的一组接口提供一个一致(稳定) 的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用(复用)。 应用场景 上述A方案的问题在于组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子…

定义

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

应用场景

在这里插入图片描述

  • 上述A方案的问题在于组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。
  • 如何简化外部客户程序和系统间的交互接口?如何将外部客户程序的演化和内部子系统的变化之间的依赖相互解耦?

结构

在这里插入图片描述

代码示例

//Facade.h
/****************************************************/
#ifndef FACADE_H
#define FACADE_H
#include <iostream>
#include <list>
#include <vector>
#include <string>using namespace std;// 厨师
class Cook
{
public:// 炒菜void cookMeal(vector<string> menu) {for (int i = 0; i < menu.size(); ++i) {cout << "正在炒:" << menu[i] << endl;}}
};// 服务员
class Waiter
{
public:// 点菜void orderDishes(vector<string> menu) {for (int i = 0; i < menu.size(); ++i) {cout << "点菜:" << menu[i] << endl;}}// 收拾void clear() {cout << "打扫卫生。" << endl;}};// 前台
class Reception
{
public:// 欢迎void welcome() {cout << "欢迎光临!" << endl;}// 买单void bill() {cout << "买单完成,欢迎下次再来!" << endl;}};// 门面
class Facade
{
public:// 构造函数Facade() {m_cook = new Cook();m_waiter = new Waiter();m_reception = new Reception();}// 析构函数~Facade() {if (m_cook != nullptr) {delete m_cook;m_cook = nullptr;}if (m_waiter != nullptr) {delete m_waiter;m_waiter = nullptr;}if (m_reception != nullptr) {delete m_reception;m_reception = nullptr;}}// 经营void manage(vector<string> menu) {// 欢迎m_reception->welcome();// 服务员点菜m_waiter->orderDishes(menu);// 厨师炒菜m_cook->cookMeal(menu);// 客人用餐cout << "客人用餐中。" << endl;// 买单m_reception->bill();// 打扫卫生m_waiter->clear();}private:Cook *m_cook;Waiter *m_waiter;Reception *m_reception;
};#endif
//test.cpp
/****************************************************/
#include "Facade.h"
int main()
{Facade *facade = new Facade();// 餐馆运营vector<string> menu = { "红烧肉","土豆丝","酸菜鱼" };facade->manage(menu);delete facade;facade = nullptr;return 0;
}

运行结果
在这里插入图片描述

要点总结

  • 从客户程序的角度来看,Facade模式简化 了整个组件系统的接口,对于组件内部与外部客户程序来说,达到了一-种“ 解耦 ”的效果——内部子系统的任何变化不会影响到Facade接口的变化。
  • Facade设计模式更注重从架构的层次去看整个系统,而不是单个类的层次。Facade很多时候更是一种架构设计模式。
  • Facade设计模式并非一个集装箱,可以任意地放进任何多个对象。Facade模式中组件的内部应该是“相互耦合关系比较大的一系列组件”,而不是一个简单的功能集合。
http://www.hyszgw.com/news/26222.html

相关文章:

  • 青岛做网站推广公司哪家好上海百度推广官方电话
  • 技术支持 上海做网站seo综合查询怎么用的
  • 做网站要素市场调研报告内容
  • 镇江手机网站制作2022年度关键词
  • 建网站哪个好 优帮云中文域名注册官网
  • 好听的房地产公司名字昆明seo
  • 网站建设中的功能百度推广代理商赚钱吗
  • 网站建设用到什么软件长沙关键词优化公司电话
  • 哪个网站做期货数字币网址大全123
  • 做木材生意的外贸网站网络推广的工作好做吗
  • iis 建设网站网站软文推广网站
  • 什么网页游戏可以赚钱seo分析及优化建议
  • 女的和女的做那个视频网站最近几天发生的新闻大事
  • 手机有软件做ppt下载网站有哪些seo如何快速排名
  • 元素领域wordpress外贸seo推广
  • 网页制作设计方案四川seo技术培训
  • 塘厦做网站seo刷关键词排名工具
  • 以前可以做视频的网站2345网址大全
  • 做网站花了2万多百度推广客服人工电话多少
  • 网站返回首页怎么做的好看win10最强优化软件
  • 好的免费个人网站西安seo网站关键词优化
  • 做音乐网站赚钱吗营销工具有哪些
  • 潍坊网站建设联系方式媒体发布平台
  • WordPress可以做社交网站嘛百度推广在哪里能看到
  • 电子商务网站推广策略主要内容自己网站怎么推广
  • 用服务器建立网站教程上海优化价格
  • 花店网站开发参考文献关键词可以分为哪三类
  • 怎么用phpstudy做网站沈阳seo整站优化
  • 自动优化网站软件没有了什么是网店推广
  • 网站开发支付功能怎么做百度自然排名优化