zoukankan      html  css  js  c++  java
  • 模板模式

    一、简介

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

    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
  • 相关阅读:
    ansible管理windows实践
    SQL server 备份/恢复/压缩 进度查询
    什么是容器
    pycharm 快捷键
    SUSE Linux--zypper程序包管理(实战命令总结)
    源码编译安装
    CentOS-yum基本使用
    rpm管理
    btrfs的精简总结版
    btrfs的介绍与使用
  • 原文地址:https://www.cnblogs.com/yuemw/p/10264385.html
Copyright © 2011-2022 走看看