模板方法模式(Template Method Pattern)

来源:互联网 发布:淘宝女装1店铺招牌图片 编辑:程序博客网 时间:2024/06/05 02:55

模板方法模式(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();
0 0
原创粉丝点击