Java设计模式之责任链模式(Chain of Responsibility模式)介绍
ChainofResponsibility定义:ChainofResponsibility(CoR)是用一系列类(classes)试图处理一个请求request,这些类之间是一个松散的耦合,唯一共同点是在他们之间传递request。也就是说,来了一个请求,A类先处理,如果没有处理,就传递到B类处理,如果没有处理,就传递到C类处理,就这样象一个链条(chain)一样传递下去。
如何使用责任链模式
虽然这一段是如何使用CoR,但是也是演示什么是CoR。
有一个Handler接口:
publicinterfaceHandler{
publicvoidhandleRequest();
}
这是一个处理request的事例,如果有多种request,比如请求帮助请求打印或请求格式化:
◆最先想到的解决方案是:在接口中增加多个请求:
publicinterfaceHandler{
publicvoidhandleHelp();
publicvoidhandlePrint();
publicvoidhandleFormat();
}
具体是一段实现接口Handler代码:
publicclassConcreteHandlerimplementsHandler{
privateHandlersuccessor;
publicConcreteHandler(Handlersuccessor){
this.successor=successor;
}
publicvoidhandleHelp(){ //具体处理请求Help的代码 ... }
publicvoidhandlePrint(){ //如果是print转去处理Print successor.handlePrint(); } publicvoidhandleFormat(){ //如果是Format转去处理format successor.handleFormat(); }
}
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短