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();
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。