美文网首页
行为型模式 --- 模板方法模式

行为型模式 --- 模板方法模式

作者: 十二找十三 | 来源:发表于2020-08-26 15:04 被阅读0次
模板方法模式
思想:定义一个算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法的情况下重定义该算法的某些特定步骤(算法的某些特定步骤需要根据子类的环境做出改变)
 hook思想
package study.org;

public class Demo {
    public static void main(String[] args) {
        AbstractTemplate template = new ConcreteClass1();
        
        template.templateMethod();
    }
}

abstract class AbstractTemplate {

    void templateMethod() {
        method1();
        method2();
        if (hookMethod3()) {
            method3();
        }
    }

    void method1() {
        System.out.println("AbstractTemplate.method1()");
    }

    abstract void method2();

    abstract void method3();
    
    Boolean hookMethod3() {
        return false;
    }
}

class ConcreteClass1 extends AbstractTemplate {

    @Override
    void method2() {
        System.out.println("ConcreteClass1.method2()");
    }

    @Override
    void method3() {
        System.out.println("ConcreteClass1.method3()");
    }
    
    @Override
    Boolean hookMethod3() {
        return true;
    }
}

相关文章

网友评论

      本文标题:行为型模式 --- 模板方法模式

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