模板方法模式

1.介绍:

在模板方法模式中,一个算法可以分多个步骤,这些步骤的执行顺序是在另外一个方法中的,这个方法被称为模板方法。同时,每个步骤也对应一个方法,这些方法被称为基本方法。模板方法会按照它定义的顺序一次调用多个基本方法。在这个过程中,会将模板方法的实现和哪些固定不变的基本方法的实现放在父类中,而那些不固定的基本方法放在子类中。

2.代码实现

创建一个抽象父类AbstractClass:

public abstract class AbstractClass {
    // 模板方法 
    public void template(){
       operation1();
operation2();
operation3(); }
// 不固定的基本方法
public abstract void operation1(); // 固定不变的基本方法 public void operation2(){ system.out.println("AbstractClass:operation2"); };
// 不固定的基本方法
public abstract void operation3(); }

创建子类ConcreteClass1和ConcreteClass2:

public class ConcreteClass1 extends AbstractClass {

    @Override
    public void operation1() {
        System.out.println("ConcreteClass1:operation1");
    }

    @Override
    public void operation3() {
        System.out.println("ConcreteClass1:operation3");
    }

}
public class ConcreteClass2 extends AbstractClass {

    @Override
    public void operation1() {
        System.out.println("ConcreteClass2:operation1");
    }

    @Override
    public void operation3() {
        System.out.println("ConcreteClass2:operation3");
    }

}

这就是模板方法模式,比较简单。

posted @ 2018-09-14 13:42  51life  阅读(185)  评论(0编辑  收藏  举报