重温设计模式 - 模板模式

模板模式

定义

定义一个操作中的算法骨架,将一些步骤延迟到子类中去实现。这样可以使得子类可以在不改变一个算法结构即可冲定义该算法的某些特定步骤。
模板方法模式就是通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势。

适用场景

当不变的和可变的行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复出现。通过模板方法模式,把这些行为搬移到单一的地方,就可以帮助子类拜托重复的不变行为的纠缠。

类图

代码

AbstracClass.java

public abstract class AbstractClass {
    public abstract void primitiveOperation1();
    public abstract void primitiveOperation2();
    
    public void templateMethod(){
        primitiveOperation1();
        primitiveOperation2();
    }
}

ConcreteClass.java

public class ConcreteClass extends AbstractClass{
    @Override
    public void primitiveOperation1() {
        System.out.println("Operation 1");
    }

    @Override
    public void primitiveOperation2() {
        System.out.println("Operation 2");
    }
}
posted @ 2017-04-11 18:55  安果果  阅读(71)  评论(0编辑  收藏  举报