大话设计模式读书笔记(八) 模板方法模式
模板方法模式:
模板方法模式:定义一个操作中的算法的骨干,而将一些步骤延迟到子类中去。模板方法模式使得子类可以不改变一个算法的接口即可以重定义该算法的某些特定步骤。
模板方法模式UML类图:
模板方法模式Java代码实现:
1 public abstract class AbstractClass { 2 3 public abstract void operation1(); 4 public abstract void operation2(); 5 6 public void templateMethod(){ 7 operation1(); 8 operation2(); 9 System.out.println(""); 10 } 11 }
1 public class ConcreteClass extends AbstractClass{ 2 3 @Override 4 public void operation1() { 5 System.out.println("具体类的方法1实现"); 6 } 7 8 @Override 9 public void operation2() { 10 System.out.println("具体类的方法2实现"); 11 } 12 13 }
1 public class Main { 2 public static void main(String[] args) { 3 AbstractClass c = new ConcreteClass(); 4 c.templateMethod(); 5 } 6 }
模板方法模式的特点:
模板方法模式就是把不变的行为移到父类,去除子类重复代码来体现他的优势。模板方法模式就是提供一个很好的代码复用平台。当不变的和可变的行为在方法的子类实现中混合在一起时,不变的行为就会在子类中重复出现。我们通过模板方法模式把这些行为搬移到单一的地方,这样就可以很好的帮助子类拜托重复的不变的行为的纠缠。