Java设计模式(二十)--模板方法模式

简介

模板方法模式就是封装了一个固定的流程,流程由几个步骤组成,具体步骤由子类进行实现,每个子类具体实现的内容也不相同,从而让固定的流程产生不同的结果。

抽象模板方法类

public abstract class AbstractTemplate {

    public abstract void methodA();

    public abstract void methodB();

    public void template(){
        methodA();
        methodB();
    }

}

抽象模板方法类中的template方法封装了固定的流程,而流程中的具体方法由子类去实现。

具体模板方法类

public class ConcreteClass1 extends AbstractTemplate {

    @Override
    public void methodA() {
        System.out.println("具体模板方法类1中的方法A");
    }

    @Override
    public void methodB() {
        System.out.println("具体模板方法类1中的方法B");
    }

}

public class ConcreteClass2 extends AbstractTemplate {

    @Override
    public void methodA() {
        System.out.println("具体模板方法类2中的方法A");
    }

    @Override
    public void methodB() {
        System.out.println("具体模板方法类2中的方法B");
    }

}

各个具体的模板方法类中实现了抽象模板方法类中的抽象方法,每个具体的模板方法类中实现的抽象方法的需求也不相同,最终调用固定的流程会产生不同的结果。

测试

public class TemplateDemo {

    @Test
    public void templateTest(){
        ConcreteClass1 concreteClass1 = new ConcreteClass1();
        concreteClass1.template();

        ConcreteClass2 concreteClass2 = new ConcreteClass2();
        concreteClass2.template();
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值