码迷,mamicode.com
首页 > 其他好文 > 详细

模板模式

时间:2019-01-13 23:26:37      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:eth   display   函数   分享   思路   实现   抽象   test   bubuko   

一、简介

  模板设计模式的设计思路比较简单,核心是将不变的逻辑放在基类中处理,在子类中使用虚函数实现变动的方法。它是开发人员使用很频繁的一种模式,往往在代码重构提取基类的过程中就会使用到这种设计模式的思路。

1. 模板设计模式类图

技术分享图片

  如上图,抽象父类用于实现软件功能中的算法的框架,子类差异化的实现算法流程中的某个具体的细节。

三、代码示例

  在组装电脑的过程中,我们可以发现,尽管不同的人需要不同类型的电脑,但是,我们的整体流程是不会改变的,简化一下,可以分为以下三个步骤:

  1)按照需求采购配件;

  2)组装电脑配件;

  3)调试测试组装好的电脑。

以下为示例代码:

#ifndef TemplateMethod_h
#define TemplateMethod_h

class BaseComputeAssy
{
public:
    explicit BaseComputeAssy();
    virtual ~BaseComputeAssy() {};

    void            init()
    {
        purchase();
        assembly();
        test();
    };

protected:
    virtual            purchase() {};

private:
    void            assembly();
    void            test();
};

class GameComputeAssy : public BaseComputeAssy
{
public:
    GameComputeAssy();
    virtual ~GameComputeAssy() {};

protected:
    virtual            purchase()
    {
        //todo
    };
};

class WorkComputeAssy : BaseComputeAssy
{
public:
    WorkComputeAssy();
    virtual ~WorkComputeAssy() {};

protected:
    virtual            purchase()
    {
        //todo 
    }
};
#endif // !TemplateMathod_h

 

模板模式

标签:eth   display   函数   分享   思路   实现   抽象   test   bubuko   

原文地址:https://www.cnblogs.com/yuemw/p/10264385.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!