《JAVA与模式》之责任链模式
参考自:http://www.cnblogs.com/java-my-life/archive/2012/05/28/2516865.html
责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。
请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,
这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。
情景模拟:
传手绢的游戏大家都知道吧,一传二,二传三,三传四。。。。。。。
图示:
uml 图
代码:
clint
public class main {
public static void main(String[] args) {
Handler fangHandler = new XiaoFangHandler();
Handler zaihanHandler = new XiaoZaiHanlder();
fangHandler.setHandler(zaihanHandler);
fangHandler.handlerRequest();
}
}
XiaoFangHandler
public class XiaoFangHandler extends Handler {
@Override
public void handlerRequest() {
System.err.println("xiao fang 接到了手绢");
getHandler().handlerRequest();
}
}
XiaoZaiHanlder
public class XiaoZaiHanlder extends Handler {
@Override
public void handlerRequest() {
System.err.println("xiao zai 接到了手绢");
if(getHandler()==null){
System.err.println("最后了, 木人了");
}else{
getHandler().handlerRequest();
}
}
}