public void test(int i, Request request){
if(i==1){
Handler1.response(request);
}else if(i == 2){
Handler2.response(request);
}else if(i == 3){
Handler3.response(request);
}else if(i == 4){
Handler4.response(request);
}else{
Handler5.response(request);
}
}
package chainOfResp;
/**
*描述:抽象处理角色
*/
public abstract class Handler {
protected Handler successor;
/**
*描述:处理方法
*/
public abstract void handlerRequest(String condition);
public Handler getSuccessor() {
return successor;
}
public void setSuccessor(Handler successor) {
this.successor = successor;
}
}
package chainOfResp;
/**
*描述:具体处理角色
*/
public class ConcreteHandler1 extends Handler {
@Override
public void handlerRequest(String condition) {
// 如果是自己的责任,就自己处理,负责传给下家处理
if(condition.equals("ConcreteHandler1")){
System.out.println( "ConcreteHandler1 handled ");
return ;
}else{
System.out.println( "ConcreteHandler1 passed ");
getSuccessor().handlerRequest(condition);
}
}
}
package chainOfResp;
/**
*描述:具体处理角色
*/
public class ConcreteHandler2 extends Handler {
@Override
public void handlerRequest(String condition) {
// 如果是自己的责任,就自己处理,负责传给下家处理
if(condition.equals("ConcreteHandler2")){
System.out.println( "ConcreteHandler2 handled ");
return ;
}else{
System.out.println( "ConcreteHandler2 passed ");
getSuccessor().handlerRequest(condition);
}
}
}
package chainOfResp;
/**
*描述:具体处理角色
*/
public class ConcreteHandlerN extends Handler {
/**
* 这里假设n是链的最后一个节点必须处理掉
* 在实际情况下,可能出现环,或者是树形,
* 这里并不一定是最后一个节点。
*
*/
@Override
public void handlerRequest(String condition) {
System.out.println( "ConcreteHandlerN handled");
}
}
package chainOfResp;
/**
*描述:测试类
*/
public class Client {
/**
*描述:
*/
public static void main(String[] args) {
Handler handler1 = new ConcreteHandler1();
Handler handler2 = new ConcreteHandler2();
Handler handlern = new ConcreteHandlerN();
//链起来
handler1.setSuccessor(handler2);
handler2.setSuccessor(handlern);
//假设这个请求是ConcreteHandler2的责任
handler1.handlerRequest("ConcreteHandler2");
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有