请教一个责任链的问题
在阎宏的<java与模式>一书中说道"发出这个请求的客户端并不知道链上的那一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任."
但我地疑惑就在书中的两个例子中.
例1:
抽象处理类:Handler
具体处理类:ConcretHandler
client:
public class Client
{
static private Handler handler1,handler2;
public static void main(String args[])
{
handler1 = new ConcretHandler();
handler2 = new ConcretHandler();
handler1.setSuccessor(handler2);
handler1.handleRequest();
}
}
例2:<红楼梦>中击鼓传花
client:
public class DrumBeater
{
private static Player;
static public void main(String[] args)
{
player = new JiaMu(new JiaZheng(new JiaBaoYu(new JiaHuan(null))));
player.handle(4);
}
}
在上述两个例子中,chain的组成顺序逻辑都是client决定的,如果要重新组织chain,client端
的代码势必要有改动.这与书中本章开始提到的"不影响客户端的情况下动态的重新组织链"矛盾.
请大家指点.