模板模式

一、简介

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值