责任链模式

###应用场景  链表的应用

> * 对一条信息进行处理  

>* 设置 数字标识 ,在对节点遍历的时候 控制方法的执行条件

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
原文地址:https://www.cnblogs.com/eatandsleep/p/10633818.html