(设计模式)责任链 > 本篇文章由一文多发平台[ArtiPub](https://github.c
作者:互联网
责任链:将每个模块负责的处理流程链接起来,形成一条链子,所有请求的数据进入这条链子时,都会由链头到链尾被链子上的各个模块处理。
例如:Java EE 的 Filter(过滤链)就是责任链,所有请求都必须经过这条过滤链,每经过一个节点都会被这个节点进行处理。如果请求满足过滤条件,那么就会进入下一个过滤节点,直到到达过滤链的尾部。
因为是过滤链是链表的结构,那么也就是说如果我需要增加一个过滤条件,那么就往过滤链加入一个过滤节点;同理,要减少一个过滤条件,那么就从链表移除即可。这样就可以轻松实现动态管理过滤规则,并且每个过滤节点层层过滤。
模式分析:
1、如果一个处理规则和流程过于庞大,那么可以将其拆分成若干个规则和流程,然后将它们串起来形成一条责任链。这样每个节点只负责一部分规则和流程,维护和改动非常友好。同时如果不需要某个规则和流程,那么就将对应的节点移除即可。同样增加规则和流程也是如此。
标签:github,链子,流程,ArtiPub,过滤,https,规则,设计模式,节点 来源: https://blog.51cto.com/u_15192237/2873141