外观模式
上帝对象:
外观模式为现有对象定义了一个新接口, 适配器模式则会试图运用已有的接口。 适配器通常只封装一个对象, 外观通常会作用于整个对象子系统上。
示例:
#include<iostream>
using namespace std;
class Sub_Work1//子工作1
{
public:
void Working1()
{
cout << "Doing Sub-Work1..." << endl;
}
};
class Sub_Work2//子工作2
{
public:
void Working2()
{
cout << "Doing Sub-Work2..." << endl;
}
};
class Sub_Work3//子工作3
{
public:
void Working3()
{
cout << "Doing Sub-Work3..." << endl;
}
};
class Sub_Work4//子工作4
{
public:
void Working4()
{
cout << "Doing Sub-Work4..." << endl;
}
};
class Work//总工作,客户与之打交道
{
private:
Sub_Work1 w1;
Sub_Work2 w2;
Sub_Work3 w3;
Sub_Work4 w4;
public:
void Work1()//总工作1
{
w1.Working1();
w3.Working3();
}
void Work2()//总工作2
{
w2.Working2();
w3.Working3();
w4.Working4();
}
};
int main()//client程序
{
Work w;
/*******总工作1******/
cout << "开始调用总工作1" << endl;
w.Work1();
/*******总工作2******/
cout << endl << "开始调用总工作2" << endl;
w.Work2();
getchar();
return 0;
}
输出:
开始调用总工作1
Doing Sub-Work1...
Doing Sub-Work3...
开始调用总工作2
Doing Sub-Work2...
Doing Sub-Work3...
Doing Sub-Work4...
参考:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2021-09-17 C# StopWatch 简单使用
2021-09-17 C# 读写配置文件
2021-09-17 C# 匿名方法 和 lambda 表达式
2021-09-17 C# 数组的声明和初始化
2021-09-17 C# 关于继承和多态
2021-09-17 C# switch 语句
2021-09-17 C# 枚举类型