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

最好玩的网站建设一个电影网站怎么做

最好玩的网站,建设一个电影网站怎么做,2023免费推广网站,wordpress自定义栏目定义 为子系统中的一组接口提供一个一致(稳定) 的界面,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.yayakq.cn/news/502671/

相关文章:

  • 京东pc网站用什么做的我的个人网站 的网页设计
  • php做网站后台世界互联网乌镇峰会
  • 网站怎么上传模板上海设计网站大全
  • 电子商务网站开发技术高邮建设局网站
  • wordpress单屏模板seo系统教程
  • 教育类门户网站网络开发需要学什么
  • 保定建网站需要多少钱h5效果展示网站
  • 如何自己学做网站网站建设 利润
  • 网站备案号和查询的不一样建设返利网站
  • 做美篇发网站建设网站的公司的官网
  • 网站总体策划的内容有哪些网站存在风险怎么解决
  • 德州做名片的网站网站注册
  • 大学网站策划方案邢台抖音优化
  • 上海行业门户网站建设工具现在可以去贵阳吗
  • 按月网站建设wordpress数据库太大
  • 河南省路桥建设集团网站网站建设yuanmus
  • 郑州网站建设居易国际免费空间试用
  • 阿里巴巴国际站入驻费用宿迁建设局网站a类证查询
  • 网页设计图片大小代码seo营销外包公司
  • 个人网站设计怎么做网站的登录注册页面怎么做的
  • wordpress视屏站做啥网站最挣钱
  • 公众号版网站建设网站公司推荐
  • 用google翻译做多语言网站移动互联网的长期趋势是
  • 辛集建设局官方网站制作团体网站
  • 网站开发专业简历口碑好网站建设公司哪家好
  • 360网站收录提交入口大全互动游戏制作软件
  • 科技 响应式网站模板沈阳图书设计公司
  • 二级网站模板wordpress短代码返回html
  • 东莞响应式网站哪里好手机上可以做网站吗
  • 零基础建网站用动物做网站名