zoukankan      html  css  js  c++  java
  • 链式处理

    public abstract class AbstractHandler {
    
        private static AbstractHandler handler = new Handler1();
    
        static {
            handler.setNextHandler(new Handler2())
                    .setNextHandler(new Handler3());
        }
    
        private AbstractHandler nextHandler;
    
        protected void handle(){
            if(this.nextHandler != null){
                this.nextHandler.handle();
            }
        }
    
    /**
    *
    * 流程链前置日志
    */
    protected String getPreLog() {
    return "handle";
    }
    public AbstractHandler setNextHandler(AbstractHandler nextHandler) { this.nextHandler = nextHandler; return this.nextHandler; } public static AbstractHandler getHandler(){ return handler; } }
    public class Handler1 extends AbstractHandler{
        @Override
        protected void handle() {
            System.out.println("handle-1");
            super.handle();
        }
    }
    public class Test {
        public static void main(String[] args) {
            AbstractHandler.getHandler().handle();
        }
    }
  • 相关阅读:
    Spring MVC之视图呈现
    Spring MVC之HandlerMap 初始化
    Spring MVC之DispatcherServlet请求处理
    合成模式
    缺省适配器
    适配器模式
    原始模型
    克隆 和 比较
    建造模式
    线段树
  • 原文地址:https://www.cnblogs.com/gucl/p/11331984.html
Copyright © 2011-2022 走看看