public abstract class Handler
{
protected Handler successor;
public abstract void handleRequest();
public void setSuccessor(Handler successor)
{
this.successor=successor;
}
public Handler getSuccessor()
{
return successor;
}
}
public class ConcreteHandler extends Handler
{
public void handleRequest()
{
if(getSuccessor()!=null)
{
System.out.println("The request is passed to "+getSuccessor());
getSuccessor().handleRequest();
}
else
{
System.out.println("The request is handled here.");
}
}
}
public class Client
{
private static Handler handler1,handler2;
public static void main(String[] args)
{
handler1=new ConcreteHandler();
handler2=new ConcreteHandler();
handler1.setSuccessor(handler2);
handler1.handleRequest();
}
}
发表于 @ 2007年10月08日 12:50:00|评论(loading...)|编辑