当有一个以上对象去处理消息的时候,使用责任链模式来实现
每一个对象在处理的时候,如果自己处理了则不往下传送,不能处理则传送给链上的下一个对象去处理。
好处:方便对处理的各个对象进行管理以及维护,解耦各个对象
public abstrac class Support{//超类
Support mNext;
void setNext(Support next){//添加下一,构成链式
mNext = next;
}
public abstract boolean resolve()//如果处理了则返回true,如果没有处理则返回flase
public void support(){//如果返回false则next去处理,否则返回表示已经处理
if(reslove()){
return}
else{
mNext.resolove();
}
public class SupportA extends Support{
public boolean resolve(){
return true;
}
public class SupportB extends Support{
public boolean resovle(){
return false;
}