妙博客

主机评测 香港服务器 洛杉矶VPS测评

设计模式-JAVA-模板方法模式(Template Method)

模板方法模式是一种行为型设计模式,它定义了一个算法的骨架,将一些步骤延迟到子类中实现。模板方法模式使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

下面是一个简单的模板方法模式的示例:

public abstract class AbstractClass {
    public void templateMethod() {
        step1();
        step2();
        step3();
    }
    protected abstract void step1();
    protected abstract void step2();
    protected abstract void step3();
}
public class ConcreteClass extends AbstractClass {
    @Override
    protected void step1() {
        System.out.println("ConcreteClass: step1");
    }
    @Override
    protected void step2() {
        System.out.println("ConcreteClass: step2");
    }
    @Override
    protected void step3() {
        System.out.println("ConcreteClass: step3");
    }
}
public class Client {
    public static void main(String[] args) {
        AbstractClass abstractClass = new ConcreteClass();
        abstractClass.templateMethod();
    }
}


在上面的示例中,AbstractClass 是抽象类,它定义了一个模板方法 templateMethod(),该方法包含了一些步骤,其中一些步骤是抽象的,需要由子类实现。ConcreteClass 是具体子类,它实现了 AbstractClass 中的抽象方法,并重写了模板方法中的步骤。Client 是客户端类,它创建了一个 ConcreteClass 对象,并调用了它的模板方法。


当客户端调用 templateMethod() 方法时,它会按照 AbstractClass 中定义的顺序执行步骤,其中一些步骤会调用子类实现的方法。这样,子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。


JAVA7大原则和23种设计模式汇总,点我查看

Copyright Your 142132.com Rights Reserved. 赣ICP备17010829号-2