看Chain of Responsibility模式後得疑問

henry.t發表於2003-01-17
public interface Handler{
  public void handleRequest(Request request);
}
那麼Handler實現程式碼如下:
public class ConcreteHandler implements Handler{
  private Handler successor;

  public ConcreteHandler(Handler successor){
    this.successor=successor;
  }

  public void handleRequest(Request request){
    if (request instanceof HelpRequest){
      //這裡是處理Help的具體程式碼
    }else if (request instanceof PrintRequst){
      request.execute();
    }else
      //傳遞到下一個
      successor.handle(request);//疑問之處

    }
  }
}
Handler介面中沒有handle(request)這個方法啊,請明示;
ConcreteHandler是Handler介面的實現,它自己有個私有成員,也是Handler的實現:private Handler successor;它也是ConcreteHandler嗎?如果是,那麼是不是下一個處理request的“節點”呢?請回答,謝謝!

相關文章