其他分享
首页 > 其他分享> > (设计模式)责任链 > 本篇文章由一文多发平台[ArtiPub](https://github.c

(设计模式)责任链 > 本篇文章由一文多发平台[ArtiPub](https://github.c

作者:互联网

责任链:将每个模块负责的处理流程链接起来,形成一条链子,所有请求的数据进入这条链子时,都会由链头到链尾被链子上的各个模块处理。

例如:Java EE 的 Filter(过滤链)就是责任链,所有请求都必须经过这条过滤链,每经过一个节点都会被这个节点进行处理。如果请求满足过滤条件,那么就会进入下一个过滤节点,直到到达过滤链的尾部。

(设计模式)责任链  > 本篇文章由一文多发平台[ArtiPub](https://github.c

因为是过滤链是链表的结构,那么也就是说如果我需要增加一个过滤条件,那么就往过滤链加入一个过滤节点;同理,要减少一个过滤条件,那么就从链表移除即可。这样就可以轻松实现动态管理过滤规则,并且每个过滤节点层层过滤。

模式分析:

1、如果一个处理规则和流程过于庞大,那么可以将其拆分成若干个规则和流程,然后将它们串起来形成一条责任链。这样每个节点只负责一部分规则和流程,维护和改动非常友好。同时如果不需要某个规则和流程,那么就将对应的节点移除即可。同样增加规则和流程也是如此。

标签:github,链子,流程,ArtiPub,过滤,https,规则,设计模式,节点
来源: https://blog.51cto.com/u_15192237/2873141