定义
使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,知道有对象处理它为止
类图
通用代码
优点 将请求和处理分开,两者解耦,提高系统灵活性
缺点
1. 性能问题 每个请求都是从链头遍历到链尾,链比较长时,存在性能问题
2. 调试不方便 因为采用了递归的方式
扩展 责任链模式核心是 作为请求者不用知道到底是需要谁来处理的
定义
使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,知道有对象处理它为止
类图
通用代码
优点 将请求和处理分开,两者解耦,提高系统灵活性
缺点
1. 性能问题 每个请求都是从链头遍历到链尾,链比较长时,存在性能问题
2. 调试不方便 因为采用了递归的方式
扩展 责任链模式核心是 作为请求者不用知道到底是需要谁来处理的