美文网首页
模版方法模式

模版方法模式

作者: Coding破耳 | 来源:发表于2020-05-09 23:45 被阅读0次

模版方法模式是指把不变的行为搬移到超类,去除子类中的重复代码的一种模式,它提供了很好的代码复用平台。

有时候遇到一系列相同步骤执行的过程(具体实现可能不同)时,可以考虑模版方法模式。把不变的行为搬移到单一的地方。

举例:

#include <stdio.h>
using namespace std;

class Paper
{
public:
    void Task1()
    {
        printf("Paper::task1\n");
        Answer1();
    }
    
    void Task2()
    {
        printf("Paper::task2\n");
        Answer2();
    }
    
    virtual void Answer1()
    {
        printf("Paper::Answer1\n");
    }
    
    virtual void Answer2()
    {
        printf("Paper::Answer2\n");
    }
};

class PaperA : public Paper
{
public:
    virtual void Answer1()
    {
        printf("PaperA::Answer1\n");
    }
    
    virtual void Answer2()
    {
        printf("PaperA::Answer2\n");
    }
};

class PaperB : public Paper
{
public:
    virtual void Answer1()
    {
        printf("PaperB::Answer1\n");
    }
    
    virtual void Answer2()
    {
        printf("PaperB::Answer2\n");
    }
};

int main()
{
    Paper* a = new PaperA();
    a->Task1();
    a->Task2();
    delete a;
    a = NULL;
    
    Paper* b = new PaperB();
    b->Task1();
    b->Task2();
    delete b;
    b = NULL;
    
    return 0;
}

相关文章

  • 设计模式-模版方法模式

    设计模式-模版方法模式 定义 模版方法模式(Template Method Pattern)又叫模版模式,是指定义...

  • 设计模式[14]-模版方法模式-Template Method

    1.模版方法模式简介 模版方法模式(Template Method Pattern)是行为型(Behavioral...

  • 设计模式之模版方法模式

    模版方法模式 模版方法是一种只需使用继承就可以实现的非常简单的模式模版方法模式由两部分结构组成,第一部分是抽象父类...

  • 设计模式之模版方法模式

    模版方法模式 模版方法是一种只需使用继承就可以实现的非常简单的模式模版方法模式由两部分结构组成,第一部分是抽象父类...

  • 设计模式之Template模式(模版模式)

    1 模式简介 1.1 模版方法模式的定义:模版方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模...

  • 模版方法模式

    通俗讲,模版模式就是将通用的上升到父类中,个性化的功能由各个子类完成.代码的复用是模版模式主要解决的.

  • 模版方法模式

    模版方法模式 定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算...

  • 模版方法模式

  • 模版方法模式

  • 模版方法模式

    模版方法模式(定义):通过把相同的方法移动到父类,去除子类中的重复代码,提供一个很好的代码复用平台

网友评论

      本文标题:模版方法模式

      本文链接:https://www.haomeiwen.com/subject/rbernhtx.html