栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

设计模式--模板模式

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

设计模式--模板模式

模板模式:定义一个算法的步骤,并允许子类为一个或多个步骤提供实现。

模板模式很简单,类图如下:

 

示例:星巴克做饮料时,都有些固定的步骤。

比如调咖啡的步骤为:1.把水煮沸 2.用沸水冲咖啡粉 3.把咖啡倒进杯子  4.加糖和牛奶

调茶的步骤为:1.把水煮沸 2.用沸水泡茶叶 3.把茶倒进杯子 4. 加柠檬。

两种饮料制作方法固定步骤都一样,不同的是步骤2 和4 ,那么我们可以把步骤做成固定的算法模板,而步骤2 4做成虚拟的方法,让子类不实现。

示例代码如:

class Drink
{
public:
	Drink()
	{
		m_bAdd = true;
	}
	void PrePareDrink()
	{
		BoilWater();
		Brew();
		PourCup();
		if (m_bAdd)
		{
			AddCondiments();
		}
	}

public:
	void BoilWater()
	{
		cout <<"烧水" <PrePareDrink();

	delete pDrink;
	pDrink = nullptr;

	//
	cout <<"//"<SetAdd(false);
	pDrink->PrePareDrink();

	delete pDrink;
	pDrink = nullptr;
	return;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/312104.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号