`
explore
  • 浏览: 82600 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

模板方法模式

阅读更多

      模板方法模式主要用于对算法或者行为逻辑进行封装,即如果多个类中存在某些相似的算法逻辑或者行为逻辑,可以将这些相似的逻辑提取到模板方法类实现,然后让相应的子类根据需要实现某些自定义的逻辑。

      举个例子来说,所有汽车,不管是宝马还是夏利,它们的驾驶流程基本是固定的。实际上,除了少数细节不同,大部分的流程是一样的,基本上是如下所示的流程说明。

     (1)点火启动汽车

     (2)踩杀车,挂前进档位(手都挡和自动挡这一步存在差异)

     (3)放下手刹

     (4)踩油门启动车辆

     我们可以声明一个模板方法类,将确定的行为以模板的形式定义,而将不同的行为留给相应的子类实现。

    

public abstract Vehicle {
      public final void drive() {
            startTheEngine ();
            putIntoGear();
            looseHandBrake();
            setOnTheGasAndGo();
      }

      protected abstract void putIntoGear();
     
      private void setOnTheGasAndGo(){
           //...
      }
      
      private void putIntoGear(){
          //...
      }
}

 

  driver()方法就是我们的模板方法,它声明为final,也就是说,方法内的逻辑是不可变更的。putIntoGear()由具体的子类实现。

 

分享到:
评论

相关推荐

    深入浅出设计模式之模板方法模式

    ### 深入浅出设计模式之模板方法模式 #### 一、模板方法模式概述 设计模式是软件工程中一种非常重要的技术手段,它能够帮助我们解决常见的编程问题,并提高代码的可重用性、可扩展性和可维护性。模板方法模式是一...

    设计模式之模板方法模式

    模板方法模式是面向对象设计模式中的行为模式之一,它在Java等面向对象编程语言中有着广泛的应用。模板方法模式的主要思想是在一个抽象类中定义一个算法的骨架,而将一些步骤延迟到子类中实现。这样,子类可以重写...

    设计模式-模板方法模式ppt

    ### 设计模式之模板方法模式解析 #### 一、引言 在软件开发过程中,我们经常面临这样的场景:有一些步骤是固定的,而某些步骤则可能因具体实现而异。为了解决这类问题,设计模式中引入了一种叫做“模板方法模式”的...

    设计模式(十一)之模板方法模式.zip

    模板方法模式是面向对象设计中的一种行为设计模式,它在软件工程中扮演着重要的角色,尤其是在需要维护代码的可扩展性和可复用性时。这个模式的核心思想是封装不变的部分,将可变部分抽象出来,让子类进行扩展。通过...

    模板方法模式案例代码

    模板方法模式是一种设计模式,属于行为设计模式,它在面向对象设计中扮演着重要的角色。这个模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法...

Global site tag (gtag.js) - Google Analytics