zoukankan      html  css  js  c++  java
  • 模板方法模式Template Method(Java实现)

    模板方法模式-Template Method

    在模板模式中, 处理的流程被定义在父类中, 而具体的处理则交给了子类. 

    类关系图很简单:

    Template接口

    这里定义了子类需要实现的方法(before run after), 和执行事务的流程(execute).

    public interface Template {
        void before();
    
        void run();
    
        void after();
    
        default void execute() {
            before();
            run();
            after();
        }
    }

    TemplateImpl类

    这是一个模板的实现类.

    继承了父类, 实现了父类遗留下来的方法细节. 使用者通过调用execute方法即可按照父类指定的流程进行处理了.

    public class TemplateImpl implements Template {
        @Override
        public void before() {
            System.out.println("Before..");
        }
    
        @Override
        public void run() {
            System.out.println("run..");
        }
    
        @Override
        public void after() {
            System.out.println("after..");
        }
    }

    Main

    这里用于运行测试. 

    public class Main {
        public static void main(String[] args) {
            new TemplateImpl().execute();
    
            /*-********或者可以这样*********-*/
    
            new Template() {
                @Override
                public void before() {
                    System.out.println("运行之前..");
                }
    
                @Override
                public void run() {
                    System.out.println("运行中..");
                }
    
                @Override
                public void after() {
                    System.out.println("运行收尾..");
                }
            }.execute();
        }
    }
    

      

    ---------------------------------------------------------
    学如不及,犹恐失之
  • 相关阅读:
    Winform 打包,卸载程序制作获取ProductCode
    委托/事件的重写
    反序列化无法找到程序集
    Control.Invoke注意事项
    操作config文件
    MemoEdit自动滚动到结尾
    读取局域网内的共享文件
    命令行卸载程序
    获取执行程序的路径
    SCSF 系列:使用 Visualizer 监控 SCSF 运行状态
  • 原文地址:https://www.cnblogs.com/noKing/p/java_design_patterns_Template_Method.html
Copyright © 2011-2022 走看看