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

模板模式(C/C++实现)

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

模板模式(C/C++实现)

模板模式 概念

模板方法模式( Template Method ),是行为模式之一,它把具有特定步骤算法中的某些必要的处理委让给抽象方法,通过子类继承对抽象方法的不同实现改变整个算法的行为。

Template Method一般应用在具有以下条件的应用中:

  • 具有统一的操作步骤或操作过程
  • 具有不同的操作细节
  • 存在多个具有同样操作步骤的应用场景,但某些具体的操作细节却各不相同
    总结:在抽象类中统一操作步骤,并规定好接口;让子类实现接口。这样可以把各个具体的子类和操作步骤解耦合
结构图

具体实现
#include 

using namespace std;

class AbstractClass{
public:
	virtual void start()=0;
	virtual void doing()=0;
	virtual void end()=0;
	void conduct(){
		start();
		doing();
		end();
	}
};

class ConcreteClass_1 : public AbstractClass{
	void start(){
		cout<<"ConcreteClass_1 start"<
		cout<<"ConcreteClass_1 doing"<
		cout<<"ConcreteClass_1 end"<
	void start(){
		cout<<"ConcreteClass_2 start"<
		cout<<"ConcreteClass_2 doing"<
		cout<<"ConcreteClass_2 end"<
	AbstractClass * absc=new ConcreteClass_1();
	absc->conduct();
	delete absc;
	return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/977090.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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