打字猴:1.700464461e+09
1700464461
1700464462 //每个处理者都必须实现处理任务
1700464463
1700464464 protected abstract Response echo(Request request);
1700464465
1700464466 }
1700464467
1700464468 抽象的处理者实现三个职责:一是定义一个请求的处理方法handleMessage,唯一对外开放的方法;二是定义一个链的编排方法setNext,设置下一个处理者;三是定义了具体的请求者必须实现的两个方法:定义自己能够处理的级别getHandlerLevel和具体的处理任务echo。
1700464469
1700464470 注意 在责任链模式中一个请求发送到链中后,前一节点消费部分消息,然后交由后续节点继续处理,最终可以有处理结果也可以没有处理结果,读者可以不用理会什么纯的、不纯的责任链模式。同时,请读者注意handlerMessage方法前的final关键字,可以阅读第10章的模板方法模式。
1700464471
1700464472 我们定义三个具体的处理者,以便可以组成一个链,如代码清单16-15所示。
1700464473
1700464474 代码清单16-15 具体处理者
1700464475
1700464476 public class ConcreteHandler1 extends Handler{
1700464477
1700464478 //定义自己的处理逻辑
1700464479
1700464480 protected Response echo(Request request){
1700464481
1700464482 //完成处理逻辑
1700464483
1700464484 return null;
1700464485
1700464486 }
1700464487
1700464488 //设置自己的处理级别
1700464489
1700464490 protected Level getHandlerLevel(){
1700464491
1700464492 //设置自己的处理级别
1700464493
1700464494 return null;
1700464495
1700464496 }
1700464497
1700464498 }
1700464499
1700464500 public class ConcreteHandler2 extends Handler{
1700464501
1700464502 //定义自己的处理逻辑
1700464503
1700464504 protected Response echo(Request request){
1700464505
1700464506 //完成处理逻辑
1700464507
1700464508 return null;
1700464509
1700464510 }
[ 上一页 ]  [ :1.700464461e+09 ]  [ 下一页 ]