场景:责任链模式就像我们坐飞机一样,一道一道不同的关卡,每个关卡不同的检查,有的是安检,有的是检票。在我们需求开发中也会有类似的场景和需求,比如tomcat源码中的servlet组件,解析和拆解一个request时就用了pipeline(管道),pipeline就是责任链模式。
下面我用一个简单的小demo举个例子:
代码结构如下:
1、定义一个行为接口
2、每个链实现行为接口,编辑不同的逻辑
3、定义一个容器执行责任链
开始
1、行为接口
2、链条1实现行为接口
链条2实现行为接口
3、定义一个容器执行责任链
原理是定义一个list,可以是arraylist,也可以是linkedlist,根据需要而定。
然后添加链条进队列,
遍历list,这当中可以加上自己很多的个性逻辑。
我们项目中的运用是初始化时就加载好队列,然后缓存起来,取出list执行。
验证结果