责任链模式定义
责任链模式(Chain of Respinsibility Pattern) 是将链中的每一个节点看做一个对象,每个节点处理的请求均不同,且内部
自动维护下一个节点 对象。 当一个请求从链式的首端发出时,会沿着链的路径传递给每个节点对象,只至有对象处理这个
请求为止。 属于行为模式。
责任链使用场景 :
1. 多个对象处理 同一请求,但具体由哪个对象处理则在运动时动态决定
2.在不明确指定接受者的情况下,向多个对象提交同一个请求
3.可动态指定一组对象处理请求
责任链的优点:
1.将请求与处理解耦
2.请求处理者(节点对象)只 关注自己感兴趣的请求即可,对于不 感兴趣的请求,直接丢给下一个节点对象
3.具备链路 传递处理请求功能,请求发送者不需要知道链路结构,只需要等待处理结果
4,结构灵活,可以动态增加和删减节点对象
5.易于拓展请求的节点对象
责任链缺点:
1.责任链太长或者处理时间 过长,会影响整体性能
2.如果节点存在循环引用,会造成死循环,导致 系统崩溃