Java责任链模式模板代码分享
本文分享了一则Java编程责任链模式的模板代码,代码中有详细注释,大家可以参考。具体如下:
//抽象处理者 publicabstractclassHandler{ privateHandlernextHandler; //每个处理者都必须对请求做出处理 publicfinalResponsehandleMessage(Requestrequest){ Responseresponse=null; //判断是否自己的处理级别 if(this.getHandlerLevel().equals(request.getRequestLevel())){ response=this.echo(request); }else{ //判断是否有下一个处理者 if(this.nextHandler!=null){ response=this.nextHandler.handleMessage(request); }else{ //没有适当的处理者 } } returnresponse; } //设置下一个处理者是谁 publicvoidsetNext(Handler_handler){ this.nextHandler=_handler; } //每个处理者都有一个处理级别 protectedabstractLevelgetHandlerLevel(); //每个处理者都必须实现处理任务 protectedabstractResponseecho(Requestrequest); } //具体处理者1 publlicclassConcreteHandler1extendsHandler{ //定义自己的处理逻辑 protectedResponseecho(Requestrequest){ //完成处理逻辑 returnnull; } //设置自己的处理级别 protectedLevelgetHandlerLevel(){ //设置自己的处理级别 returnnull; } } //具体处理者2 publlicclassConcreteHandler2extendsHandler{ //定义自己的处理逻辑 protectedResponseecho(Requestrequest){ //完成处理逻辑 returnnull; } //设置自己的处理级别 protectedLevelgetHandlerLevel(){ //设置自己的处理级别 returnnull; } } //具体处理者3 publlicclassConcreteHandler3extendsHandler{ //定义自己的处理逻辑 protectedResponseecho(Requestrequest){ //完成处理逻辑 returnnull; } //设置自己的处理级别 protectedLevelgetHandlerLevel(){ //设置自己的处理级别 returnnull; } } //模式中有关框架的代码 publicclassLevel{ //定义一个请求和处理等级 } publicclassRequest{ //请求的等级 publicLevelgetRequestLevel(){ returnnull; } } publicclassResponse{ //处理返回者的数据 } //场景类 publicclassClient{ publicstaticvoidmain(String[]args){ //声明所有的处理节点 Handlerhandler1=newConcreteHandler1(); Handlerhandler2=newConcreteHandler2(); Handlerhandler2=newConcreteHandler3(); //设置链中的阶段顺序1-->2-->3 handler1.setNext(handler2); handler2.setNext(handler3); //提交请求 Responseresponse=handler.handleMessage(newRequest()); } }
总结
以上就是本文关于Java责任链模式模板代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!