GoF之模板方法模式(Template Method)

Posted Recho

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GoF之模板方法模式(Template Method)相关的知识,希望对你有一定的参考价值。

定义:

  在一个操作方法中定义算法的流程,其中这些步骤由子类完成。模板方法模式让子类

在不变更原有算法流程的情况下,能够重新定义其中的步骤。

  上述的定义中包含两个方面:

    定义一个算法的流程,即是很明确地定义算法的每一步骤,并写在父类的方法中

,而每一个步骤都可以是一个方法的调用。

    某些步骤由子类完成,需要在子类中重写。

 

  

 


 

  

  运用模板方法可以将可能出现重复的“算法流程”,从子类提升到父类中,减少重复

的发生,并且也开放子类参与算法各个步骤的执行或优化。这一点在Shader中也有体现

 


  

模板方法应用

  RPG游戏中,不同角色的技能释放可以用模板方法把释放过程的流程固定,然后在子类中修改每一个

流程中的方法

  在线游戏角色登录的流程,对于不同账号的登录,可能不同,用模板方法将登录流程固定下来,例如,

显示登录界面=>选择登录方法=>输入账号密码=>向服务器请求登录等

 

以上是关于GoF之模板方法模式(Template Method)的主要内容,如果未能解决你的问题,请参考以下文章

GOF设计模式——Template Method模式

设计模式之——Template模板模式

JAVA SCRIPT设计模式--行为型--设计模式之Template Method模板方法(22)

JAVA SCRIPT设计模式--行为型--设计模式之Template Method模板方法(22)

GoF 23 种设计模式之委派模式和模板方法模式

GoF 23 种设计模式之委派模式和模板方法模式