模板设计模式

该博客通过一个Java代码示例介绍了模板模式的概念,展示如何使用这种设计模式来定义驾驶流程的通用架构。司机类(Driver)定义了固定的步骤,如开门、点火和刹车,而具体的驾驶方式则由不同类型的司机(如新手司机NewDriver和老司机OldDriver)通过重写抽象方法driverStyle来实现。这种模式使得在保持整体流程一致的同时,能够灵活地定制特定部分的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模板模式会定义通用架构,使用者只需要关心自己需要实现的功能即可,可以将固定的流程写到父类中去,不同的地方定义成抽象方法,让不同的子类去重写,这里以驾驶流程为例,代码如下:

//司机类
public abstract class Driver {
    /**
     * 驾驶流程
     */
    public void driverProcess() {
        System.out.println("开门...");
        System.out.println("点火...");
        driverStyle();
        System.out.println("刹车...");
        System.out.println("熄火...");
    }

    /**
     * 驾驶方式
     */
    public abstract void driverStyle();
}

//新手司机
public class NewDriver extends Driver{

    /**
     * 驾驶方式
     */
    @Override
    public void driverStyle() {
        System.out.println("新手司机双手紧握方向盘....");
    }
}

//老司机
public class OldDriver extends Driver{
    /**
     * 驾驶方式
     */
    @Override
    public void driverStyle() {
        System.out.println("老司机一手抽着烟,一手抓着方向盘,丝毫不慌~");
    }
}

//测试
public class DriverTest {
    public static void main(String[] args) {
        new OldDriver().driverProcess();
        System.out.println("-------------");
        new NewDriver().driverProcess();
    }
}

最终打印如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值