您的位置:首页 > 其它

模板方法模式(Template Method Pattern)

2016-01-21 17:34 573 查看
模板方法模式(Template Method Pattern)

flyfish 2016-1-21
本文编程语言采用C+++实现,参考《设计模式之禅》中的Java实现


define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure

定义一个操作中的算法框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结果即可重定义该算法的某些特定步骤。

class AbstractClass
{
protected:
virtual void DoSomething(){}
virtual void DoAnything(){}
public:
void TemplateMethod()
{
void DoSomething();
void  DoAnything();
}
};

class ConcreteClass1 : public AbstractClass
{
//实现基本方法
protected:
virtual void DoSomething(){}//业务逻辑处理
virtual void DoAnything(){}//业务逻辑处理

};

class ConcreteClass2 : public AbstractClass
{
//实现基本方法
protected:
virtual void DoSomething(){}//业务逻辑处理
virtual void DoAnything(){}//业务逻辑处理
};

//使用
AbstractClass *class1 = new ConcreteClass1;
class1->TemplateMethod();

AbstractClass *class2 = new ConcreteClass2;
class2->TemplateMethod();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: