模板模式

模板模式

模板模式侧重于流程,可以自定义修改某一个流程,但是整个过程是不可以修改的。
一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。

优点

  1. 封装不变部分,扩展可变部分。
  2. 提取公共代码,便于维护。
  3. 行为由父类控制,子类实现。

缺点

  1. 每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大

DEMO


/**
 * 定义模板的基类
 */
public abstract class ITemplate {

    /**
     * 模板执行方法,设定执行顺序
     */
    public final void execute(){
        this.first();
        this.second();
        this.three();
    }

    abstract void first();
    abstract void second();
    abstract void three();
}
public class Demo1 extends ITemplate {
    @Override
    void first() {
        System.out.println("demo1 执行 first");
    }

    @Override
    void second() {
        System.out.println("demo1 执行 second");
    }

    @Override
    void three() {
        System.out.println("demo1 执行 three");
    }
}

public class Demo2 extends ITemplate {
    @Override
    void first() {
        System.out.println("demo2 执行 first");
    }

    @Override
    void second() {
        System.out.println("demo2 执行 second");
    }

    @Override
    void three() {
        System.out.println("demo2 执行 three");
    }
}


文章作者: 凌云
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 凌云 !
  目录