定义:责任链模式为某个请求创建一个对象链,每个对象依次检查此请求,并对其进行处理,或者将它传给链中的下一个对象。
责任链模式中的结构和链表的结构相差无几,唯一的区别便是责任链模式中的所有对象 都有一个共同的父类(或接口)。
总结
责任链模式将常用于过滤器,拦截器,事件(鼠标键盘事件,冒泡事件等)等场景
优点
请求者和接收者解耦
可以动态的增加或减少责任链上的对象,或者修改顺序
缺点
调用者不知道请求可能被哪些责任链对象处理,不利于排错
用户请求可能被责任链中途拦截,最终未必被真正执行,这点既是优点也是缺点,我们可以利用它做权限控制拦截器