您的位置:首页 > 大数据 > 人工智能

行为型模式-----责任链模式(chain of responsibility)

2013-09-03 11:11 302 查看
1、责任链模式

有多个对象,每个对象持有下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求,但是发出请求者

并不清楚到底最终是哪个对象会处理请求,所以,责任链可以实现,在隐藏客户端的情况下,对系统进行动态的调整。

(有多个对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定)



实例一

public abstract class Handler {

private Handler handler;

public abstract void execute();

public Handler getHandler() {
return this.handler;
}

public void setHandler(final Handler handler) {
this.handler = handler;
}
}

public class MyHandler extends Handler {

private String name;

public MyHandler(final String name) {
this.name = name;
}

@Override
public void execute() {
System.out.println("  ~~  当前处理器名称为: " + this.name);
if ("zhangsan".equals(this.name)) {
System.out.println(" ~~  进行处理  ~~~~ : " + this.name);
}
else {
this.getHandler().execute();
}
}
}

public class OtherHandler extends Handler {

private String name;

public OtherHandler(final String name) {
this.name = name;
}

@Override
public void execute() {
System.out.println("  ~~  当前处理器名称为: " + this.name);
System.out.println(" ~~~~ 进行处理 ~~~~ :  " + this.name);
}
}


模拟调用

public static void main(final String[] args) {
final Handler h1 = new MyHandler("zhangsan1");
final Handler h2 = new OtherHandler("h2");
h1.setHandler(h2);
h1.execute();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐