java设计模式之模板模式(行为型模式)

什么是行为型模式?

模板模式(Template Pattern)是一种行为设计模式,它定义了一个算法的骨架,将某些步骤的实现延迟到子类。在模板模式中,父类中定义了一个模板方法,该方法定义了算法的骨架,包括一些基本的操作步骤,而具体的实现可以在子类中实现。

模板模式的核心思想是将通用的算法步骤放在父类中,并将可变的部分延迟到子类中实现。这样可以确保算法结构的稳定性,同时允许子类根据需要进行相关步骤的定制和扩展。

代码实例

// 抽象类,定义了模板方法和基本操作步骤
abstract class AbstractClass {
    // 模板方法,定义算法的骨架,包括基本的操作步骤
    public void templateMethod() {
        step1();
        step2();
        step3();
    }
    // 基本操作步骤1,由子类实现
    protected abstract void step1();
    // 基本操作步骤2,由子类实现
    protected abstract void step2();
    // 基本操作步骤3,由子类实现
    protected abstract void step3();
}
// 具体子类,实现基本操作步骤
class ConcreteClass extends AbstractClass {
    protected void step1() {
        System.out.println("ConcreteClass: Step 1");
    }
    protected void step2() {
        System.out.println("ConcreteClass: Step 2");
    }
    protected void step3() {
        System.out.println("ConcreteClass: Step 3");
    }
}
public class TemplatePatternExample {
    public static void main(String[] args) {
        // 创建具体子类对象
        AbstractClass abstractClass = new ConcreteClass();
        // 调用模板方法,执行算法
        abstractClass.templateMethod();
    }
}

从上面的代码中可以看到,AbstractClass 是抽象类,定义了一个模板方法 templateMethod(),该方法包含了一些基本的操作步骤 step1()step2() 和 step3()。这些步骤是抽象方法,需要在具体的子类中实现。ConcreteClass 是具体子类,它继承了抽象类 AbstractClass 并实现了对应的步骤方法。在客户端的 main() 方法中,我们创建一个具体子类的对象,并调用 templateMethod() 方法来执行算法。父类的模板方法会按照预定义的顺序调用子类的具体实现。

通过模板模式,我们可以将可变的部分留给子类来实现,从而提供了灵活性和可扩展性。同时,模板模式还可以提高代码的复用性,将通用的算法步骤抽象到父类中,避免了重复的代码编写。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值