定义:定义一个操作中的算法的骨架(提炼相同代码以达到代码复用),而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
1.抽象模板父类。
2.子类实现父类方法。
特点:通过把不变行为搬移到超类,去除子类中的重复代码。(提供了一个很好的代码复用平台)。是很常用的模式,在java或.NET的设计中,通常都会利用模板方法模式提取类库中的公共行为到抽象类中。
例子:试卷里的题目都是一样的,只有答案不一样。
应用实例:HttpServlet类提供了一个service()方法.这个方法调用了一个或是多个do方法,完成对客户端发起的请求的处理,这些do方法则是由具体的HttpServlet类提供的.那么这里的service()方法就是一个摸板方法.