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(); }
}
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法