【间说八股】面试官:我看你这里用到了模板模式?你能不能说一下什么是模板模式

在这里插入图片描述

模板模式

行为模式:这类模式负责对象间的高效沟通和职责委派。
模板方法模式是一种行为设计模式, 它在超类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。

模板方法模式是一种行为设计模式,其核心思想是定义一个算法的骨架,将算法中的特定步骤延迟到子类中实现,从而在不改变算法结构的情况下,允许子类重新定义算法的特定部分。

核心组成:

  • 抽象类(Abstract Class):定义模板方法和一系列抽象操作,其中模板方法定义了算法的基本流程,包括调用一系列抽象方法,这些方法由子类实现。
  • 具体类(Concrete Class):继承抽象类并实现其中的抽象方法,完成算法的具体实现。

应用场景:

  1. 安卓开发:模板方法模式在Android开发中经常被用来实现Activity和Fragment的生命周期方法。这些生命周期方法(如onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy())是由Android框架预先定义好的,开发者可以通过重写这些方法来定制应用的行为。
	public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 定制初始化操作
    }
    // 其他生命周期方法也可以被重写
}
  1. 数据处理项目:在处理多个数据源,特别是当每个数据源的处理流程相似但又有差异时,模板方法模式可以用来定义一个公共的处理流程,而将差异部分留给子类去实现。
	public abstract class DataSourceProcessor {
    // 模板方法定义了数据处理流程
    public final void processData() {
        fetchData();
        processDataLogic();
        storeData();
    }
    // 抽象方法,子类实现
    protected abstract void fetchData();
    protected abstract void processDataLogic();
    protected abstract void storeData();
}

优点:

  • 提供算法框架,允许子类重写特定部分而无需改变整体结构。
  • 在不改变接口的情况下,重新定义算法的某些步骤。
  • 避免代码重复,提高代码复用性。

缺点:

  • 每个不同实现需要创建一个子类,增加系统复杂度。
  • 算法骨架难以改变,修改抽象类可能影响所有子类。

通过模板方法模式,开发者能够在遵循开闭原则的基础上,提高代码的可扩展性和可维护性,同时降低代码重复度。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值