概述
模版方法模式就是我们做一件事情是有清晰的步骤,但可能中间的某个步骤的具体内容因人而异,将这个不确定的步骤的实现放到子类去实现。例如我们去ktv唱歌,步骤都是先服务员领着我们去房间,然后我们点歌,之后付账。但是每个顾客点的歌肯定是不一样的,所以对于这个操作我们就可以将它放到子类具体的某个顾客去实现。我们的模版方法就是进房间、点歌、付账。
结构图
总结
- 模版方法模式就是将不变的行为搬移到超类,去除子类中的重复代码来体现它的优势
- 模版方法模式就是提供一个很好的代码复用平台
- 当不变的和可变的行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复出现。我们通过模版方法模式把这些行为搬移到单一的地方,这样就帮助子类摆脱重复的不变行为的纠缠