设计模式之模板方法模式

模板方法模式

定义一个 操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算的结构即可重定义该算法的某些特定步骤。

抽象模板类AbstractClass

package com.hml.template;

public abstract class AbstractClass {
    public abstract void primitiveMethod1();

    public abstract void primitiveMethod2();

    public void templateMethod() {
        primitiveMethod1();
        primitiveMethod2();
    }
}

ConcreateA

package com.hml.template;

public class ConcreateA extends AbstractClass {

    public void primitiveMethod1() {
        System.out.println("A");
    }

    public void primitiveMethod2() {
        System.out.println("A");

    }

}

ConcreateB

package com.hml.template;

public class ConcreateB extends AbstractClass {

    public void primitiveMethod1() {
        System.out.println("B");
    }

    public void primitiveMethod2() {
        System.out.println("B");

    }

}

类图

模板方法的优点是把不变的移到了抽象父类中,去除了子类中的重复代码来体现他的优势。

原文地址:https://www.cnblogs.com/heml/p/4622001.html