Java设计模式--模板模式

这种模式主要是为了解决这样一种问题,有些情况下,一个算法的流程已经确定,但在不同情况下可能会有微小的改变,这时候我们可以借助模板,将一些步骤延迟到子类中,从而提高程序的灵活性。简单实现:

模板抽象类

public abstract class Template {
    public void step1(){
        System.out.println("step1 run...");
    }

    public void step2(){
        System.out.println("step2 run...");
    }

    public void step3(){
        System.out.println("step3 run...");
    }

    public void run(){
        step1();
        step2();
        step3();
    }
}

具体子类

public class Product1 extends Template{
    @Override
    public void step1() {
        System.out.println("product1 step1 run ...");
    }
}

public class Product2 extends Template{
    @Override
    public void step3() {
        System.out.println("product2 step3 run ...");
    }
}

测试类·

    public static void main(String[] args) {
        new Product1().run();
        new Product2().run();
    }

你可能感兴趣的:(Java设计模式--模板模式)