首页 > 其他 > 详细

职责连模式的使用场景

时间:2015-12-19 17:48:19      阅读:367      评论:0      收藏:0      [点我收藏+]
static interface Response {
        void process();
    }

    static abstract class CallServiceHandler {
        CallServiceHandler nextHandle;
        
        abstract CallServiceHandler process();
        
        protected final void callBackFn(Response responase ) {
            responase.process();
        }
        
        protected final CallServiceHandler execute() {
            process();
            if(nextHandle != null ){
                nextHandle.process();
            }
            return this;
        }
        
        protected final CallServiceHandler setNextHandle(CallServiceHandler nextHandle) {
            this.nextHandle = nextHandle;
            return this;
        }
        
    }

    static class RequestDnHandler extends CallServiceHandler {

        @Override
        CallServiceHandler process() {
            System.out.println("fetch data by url ....");
            return this;
        }

    }

    static class ProcessDnHandler extends CallServiceHandler {

        @Override
        CallServiceHandler process() {
            System.out.println("json to map ...");
            return this;
        }
    }
public static void main(String[] args) {
        CallServiceHandler requesthandler = new RequestDnHandler();
        CallServiceHandler processHandler = new ProcessDnHandler();
        requesthandler.setNextHandle(processHandler).execute().callBackFn(new Response() {
            public void process() {
                System.out.println("callback response..");
            }
        });
    }

以上是职责链模式模拟的一个客户端请求服务器数据的处理过程,首先通过URL请求后台service,之后对后台service处理的结果进行处理,最后设置callback完成页面渲染。

也可以给予对象的依赖设置 关系,设置数据流程处理关系。

职责连模式的使用场景

原文:http://www.cnblogs.com/gstsyyb/p/5059449.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!