重点在链。一条链,如果本节点处理不了,则传递给下一个节点处理。
关键是如何传给下一个节点?
主要是由本节点决定传给哪一个节点。
public class Client { public static void main(String args[]) { Leader objDirector,objManager,objGeneralManager,objViceGeneralManager; //构造节点实例 objDirector=new Director("王明"); objManager=new Manager("赵强"); objGeneralManager=new GeneralManager("李波"); objViceGeneralManager=new ViceGeneralManager("肖红"); //设置下一个节点是谁 objDirector.setSuccessor(objManager); objManager.setSuccessor(objViceGeneralManager); objViceGeneralManager.setSuccessor(objGeneralManager); LeaveRequest lr1=new LeaveRequest("张三",2); objDirector.handleRequest(lr1); LeaveRequest lr2=new LeaveRequest("李四",5); objDirector.handleRequest(lr2); LeaveRequest lr3=new LeaveRequest("王五",15); objDirector.handleRequest(lr3); LeaveRequest lr4=new LeaveRequest("赵六",45); objDirector.handleRequest(lr4); } }