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责任链模式模板代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!