美文网首页
设计模式之模板方法模式

设计模式之模板方法模式

作者: 雨林木风博客 | 来源:发表于2018-03-14 15:13 被阅读0次

模板方法,见名知意,我不再啰嗦,直接上代码,代码很好理解,我觉得看代码比磨磨唧唧码那么多字强多了!

模板类(抽象类)

package com.zyh.designpatterns.com.zyh.templatemethod;

public abstract class AbstractTemplate {

    /*
     * 模板方法,起到模板作用
     */
    public final void templateMethod()
    {
         abstractMethod();
         hookMethod();
         concreteMethod();
    }

    /*
     * 基本方法的声明(必须实现)
     */
    public abstract void abstractMethod();

    /*
     * 基本方法的空实现(可用于hook)
     */
    public void hookMethod()
    {

    }

    /*
     * 子类不可变方法(实现一些固定的逻辑)
     */
    private void concreteMethod()
    {
        System.out.println("抽象类中实现一些固定的逻辑");
    }
}

子类去继承上边的抽象类

package com.zyh.designpatterns.com.zyh.templatemethod;

public class ConcreteTemplate extends AbstractTemplate{

    /*
     * 必须实现的方法
     */
    @Override
    public void abstractMethod() {
         /* 实现一些具体的逻辑  */
        System.out.println("实现一些具体的逻辑");
    }

    @Override
    public void hookMethod() {
        /* 实现一些hook逻辑或者不实现 */
        System.out.println("实现一些hook逻辑或者不实现");
    }

    public static void main(String[] args)
    {
       ConcreteTemplate ct = new ConcreteTemplate();
       ct.templateMethod();
    }
}

运行结果

实现一些具体的逻辑
实现一些hook逻辑或者不实现
抽象类中实现一些固定的逻辑

相关文章

网友评论

      本文标题:设计模式之模板方法模式

      本文链接:https://www.haomeiwen.com/subject/pypfqftx.html