首页 > 其他 > 详细

模板模式

时间:2019-01-13 23:08:25      阅读:208      评论:0      收藏:0      [点我收藏+]

一、简介

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

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

 

模板模式

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!