设计模式--模版模式

模版模式是通过在抽象方法定义执行顺序,并将抽象方法设定为只有子类实现,但不设计独立访问的方法。简单说:提前安排了。
其实很简单,看如下例子:

  1. 定义一个抽象类
public abstract class TemplateABS {

    public String operationSequence(){
        return method1() +"\n" + method3() +"\n" + method2();
    }

    protected  abstract String method1();

    protected abstract  String method2();

    protected abstract  String method3();
}
  1. 写实现类,并将抽象方法实现。这里不需要关系方法是怎么编排的。只需要实现抽象方法。
public class TemplateABSImpl extends TemplateABS{
    @Override
    protected String method1() {
        return "i am  method one  ;";
    }

    @Override
    protected String method2() {
        return "我是方法2";
    }

    @Override
    protected String method3() {
        return "hello , what is you name ? my name is method3 ";
    }
}
  1. 最后看测试方法。
public class Test {
    public static void main(String[] args) {
        TemplateABS templateABS = new TemplateABSImpl();
        String s = templateABS.operationSequence();
        System.out.println(s);
    }

    /**
     *  测试结果
     *
     * > Task :Test.main()
     * i am  method one  ;
     * hello , what is you name ? my name is method3
     * 我是方法2
     *
     */
}

模版模式:定义统一结构,执行标准是非常方便的,调用者不需要关心调用逻辑,按照统一方式执行即可。类的继承类也只需要实现具体的业务逻辑即可。其中模版模式也解决了子类通用方法,放到父类优化设计。让每一个子类只需要做自己应该完成的内容。

上一篇:观察者模式


下一篇:Calendar类