定义:
在一个操作方法中定义算法的流程,其中这些步骤由子类完成。模板方法模式让子类
在不变更原有算法流程的情况下,能够重新定义其中的步骤。
上述的定义中包含两个方面:
定义一个算法的流程,即是很明确地定义算法的每一步骤,并写在父类的方法中
,而每一个步骤都可以是一个方法的调用。
某些步骤由子类完成,需要在子类中重写。
运用模板方法可以将可能出现重复的“算法流程”,从子类提升到父类中,减少重复
的发生,并且也开放子类参与算法各个步骤的执行或优化。这一点在Shader中也有体现
模板方法应用
RPG游戏中,不同角色的技能释放可以用模板方法把释放过程的流程固定,然后在子类中修改每一个
流程中的方法
在线游戏角色登录的流程,对于不同账号的登录,可能不同,用模板方法将登录流程固定下来,例如,
显示登录界面=>选择登录方法=>输入账号密码=>向服务器请求登录等