责任链模式
###应用场景 链表的应用
> * 对一条信息进行处理
>* 设置 数字标识 ,在对节点遍历的时候 控制方法的执行条件
public abstract class AbstractFilter {
//定义一个节点
public AbstractFilter nextFilter;
public void setFilter(AbstractFilter filter){
this.nextFilter = filter;
}
//定义 方法的控制条件
public static int leverOne = 1;
public static int leverTwo = 2;
public static int leverThree =3;
public int lever;
//对数据做处理的操作
abstract void dofilter(String msg);
abstract void afterDofilter(String msg);
//遍历链表
public void filterMessage(int lever,String msg) {
//可以通过对lever的控制 让一些节点的方法不执行
if (this.lever <= lever) {
dofilter(msg);
}
if (nextFilter != null) {
nextFilter.filterMessage(lever, msg);
}
if (this.lever <= lever) {
afterDofilter(msg);
}
}
}
```
malu