1.什么是模板方法模式
定义一个操作中算法的骨架,而将一些步骤延迟到子类中。
2.为什么要用模板方法模式
模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
模板方法模式是通过把不变行为搬迁的超类,去除子类中的重复代码来体现它的优势,它提供了一个很好的代码复用平台。
3.怎样用模板方法模式
AbstractClass
public class AbstractClass { public void primitiveOperation1(){ } public void primitiveOperation2(){ } public void templateMethod(){ primitiveOperation1(); primitiveOperation2(); System.out.println(""); } }
concreteClassA
public class concreteClassA extends AbstractClass { public void primitiveOperation1(){ System.out.println("具体A类方法1实现"); } public void primitiveOperation2(){ System.out.println("具体A类方法2实现"); } }
concreteClassB
public class concreteClassB extends AbstractClass { public void primitiveOperation1(){ System.out.println("具体B类方法1实现"); } public void primitiveOperation2(){ System.out.println("具体B类方法2实现"); } }