#开始不知道一个链上的那个对象去处理,话不多说,大致的代码如下。
interface IHander{
void operator();
}
abstract class AbstractHandler implements IHander{
private IHander iHander;
public IHander getIHander(){
return iHander;
}
public void setiHander(IHander iHander){
this.iHander=iHander;
}
}
class MyHander extends AbstractHandler implements IHander{
private String name;
public MyHander(String name){
this.name=name;
}
@Override
public void operator() {
System.out.println(name+" done");
getIHander().operator();
}
public void test(){
MyHander myHander1=new MyHander("myHander1");
MyHander myHander2=new MyHander("myHander2");
MyHander myHander3=new MyHander("myHeadner3");
myHander1.setiHander(myHander2);
myHander2.setiHander(myHander3);
myHander1.operator();
}
}
本文介绍了一种使用Java实现的责任链模式。通过定义一系列处理对象并为这些对象提供一种链式结构,每个对象可以在不请求者指定接收者的情况下发送请求到链上的下一个对象。示例代码展示了如何创建多个处理者并将它们链接起来以处理任务。
1099

被折叠的 条评论
为什么被折叠?



