目的 将算法的一些步骤延迟到子类系统中实现,使得子类可以在不改变该算法结构的情况下,重新定义该算法的某些特定步骤
应用场景步骤

(1)提取多个子类共有的方法到父类

(2)不变的、重要的、复杂的方法,可作为模板方法

构成 抽象类、具体子类
备注 家具设计可以考虑使用模板方法、比如一个沙发包括骨架(木或者铁)、面料(皮或者布)、靠垫、五金等。只有客户提出个性化需求时,才产生不同的沙发样式。

 

 

 

 

 

模板模式由抽象类、具体子类组成

(1)抽象类:包含一个由一个模板方法和若干个基本方法构成的算法框架

1)模板方法:算法框架,按照一定顺序调用所包含的基本方法

2)基本方法:算法中的某一步骤,可在子类实现的抽象方法

(2)具体子类:实现父类所定义的一个或多个抽象方法