Template模式¶
模板模式是一种行为型设计模式,它定义了一个算法的骨架,并将一些步骤延迟到子类中。使得子类可以不改变算法的结构,即可重定义该算法的某些特定步骤。可以提高代码的复用性、可扩展性和灵活性。
- 主要解决:一些方法通用,却在每一个子类都重新写了这一方法。
- 何时使用:有一些通用的方法。
- 如何解决:将这些通用算法抽象出来。
- 关键代码:在抽象类实现,其他步骤在子类实现。
Java¶
public abstract class AbstractClass {
public void templateMethod() {
this.step1();
this.step2();
this.step3();
}
public abstract void step1();
public abstract void step2();
public void step3() {
// 默认实现
}
}
public class ConcreteClass1 extends AbstractClass {
@Override
public void step1() {
// 具体实现
}
@Override
public void step2() {
// 具体实现
}
}
public class ConcreteClass2 extends AbstractClass {
@Override
public void step1() {
// 具体实现
}
@Override
public void step2() {
// 具体实现
}
@Override
public void step3() {
// 重写默认实现
}
}