• 模板模式


    一、简介

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

    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
  • 相关阅读:
    C#static
    Sql中CHARINDEX用法
    分分钟用上C#中的委托和事件
    为什么使用抽象类?有什么好处?
    【NOIP】普及组2009 细胞分裂
    【VIJOS】P1512 SuperBrother打鼹鼠
    【NOIP】提高组2014
    @NOIP2018
    @NOIP2018
    @NOIP2018
  • 原文地址:https://www.cnblogs.com/yuemw/p/10264385.html
Copyright © 2020-2023  润新知