1、定义:
行为型
定义了一个算法骨架,将可变的延迟到子类的加载。
【封装不可变的将可变的延迟到子类】
主要解决:一些方法通用,却在每一个子类都重新写了这一方法。
何时使用:有一些通用的方法。
如何解决:将这些通用算法抽象出来。
关键代码:在抽象类实现,其他步骤在子类实现。
2、场景:
所有的游戏流程都是:初始化、开始游戏、结束游戏
但不同游戏的初始化、开始游戏、结束游戏的实现不同。
3、UML:
模板类:AbstractGame (定义了Play的算法骨架)
子类:实现各自不同的方法,但Play方法是一样的