1.定义
使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
发出请求的客户端并不知道是哪个一个对象处理这个请求,这样系统的更改可以在不影响客户端的情况下动态地重新组织和分配责任。
2.基本代码
**(**1)定义一个处理请示的接口
Handler
package designmode.chainofresponsibility;
public abstract class Handler {
protected Handler succesor; //设置继任者
public void SetSuccessor(Handler succesor){
this.succesor=succesor;
}
public abstract void HandleRequest(int request); //处理请求的抽象方法
}
(2)ConcreteHandle类,具体处理类,处理它所负责的请求,可访问它的后继者,如果能处理就处理,不能处理就将该请求转发给它的后继者
package designmode.chainofresponsibility;
public class ConcreteHandler1 extends Handler{
@Override
public String toString() {
return "ConcreteHandler1";