设计模式——外观模式

外观模式类似迪米特法则,外观模式旨在将复杂的操作转化为一个接口给用户调用,省去了客户端细节的代码编写,以下的功能是存在三种模式,可选择开启或关闭,实现每一种功能需要开关不同的模式,如果将这些代码交给客户端编写,会有些麻烦,不如直接把一系列操作封装成一个类并提供接口:

cpp 复制代码
class mode1
{
public:
	void on()
	{
		cout << "开启" << endl;
	}
	void off()
	{
		cout << "关闭" << endl;
	}
};
class mode2
{
public:
	void on()
	{
		cout << "开启" << endl;
	}
	void off()
	{
		cout << "关闭" << endl;
	}
};
class mode3
{
public:
	void on()
	{
		cout << "开启" << endl;
	}
	void off()
	{
		cout << "关闭" << endl;
	}
};
class One_click_mode
{
public:
	void start()
	{
		m1->on();
		m2->off();
		m3->on();
	}
	~One_click_mode() 
	{
		delete m1;
		delete m2;
		delete m3;
	}
private:
	mode1* m1 = new mode1;
	mode2* m2 = new mode2;
	mode3* m3 = new mode3;
};
void test()
{
	One_click_mode* ocm = new One_click_mode;
	ocm->start();
}
int main()
{
	test();
	return 0;
}
相关推荐
鸽鸽程序猿9 分钟前
【刷题册】二
算法
CoderCodingNo18 分钟前
【GESP】C++四级真题 luogu-B4416 [GESP202509 四级] 最长连续段
开发语言·c++·算法
xjxijd18 分钟前
工业元宇宙 IDC 支撑:数字孪生算法 + 边缘服务器,生产调度响应速度提 3 倍
运维·服务器·算法
xwz小王子35 分钟前
UniBYD:超越人类示教模仿的跨实体机器人操作学习统一框架
学习·算法·机器人·跨实体
跨境卫士苏苏1 小时前
突围新品广告泥潭:亚马逊广告底层逻辑大重构
大数据·人工智能·算法·重构·亚马逊·防关联
旧梦吟1 小时前
脚本网页 三人四字棋
前端·数据库·算法·css3·html5
凯_kyle1 小时前
Python 算法竞赛 —— 基础篇(更新ing)
笔记·python·算法
lizz311 小时前
C++操作符重载深度解析
java·c++·算法
阿拉斯攀登2 小时前
电子签名:笔迹特征比对核心算法详解
人工智能·算法·机器学习·电子签名·汉王
ytttr8732 小时前
matlab进行利用遗传算法对天线阵列进行优化
开发语言·算法·matlab