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

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

作者: 十二找十三 | 来源:发表于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