一、概念:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。
二、UML示意图

三、优缺点
优点:
- 降低了耦合度,把请求的发送者和接受者解耦,并且发送者不需要知道是谁处理了请求。
- 职责链中的对象不需要知道职责链的结构。
- 扩展性提高,要处理新的请求只需增加新的请求处理类。符合开闭原则。
- 增强给对象指派职责的灵活性。通过改变链内的成员或者调动它们的次序,允许动态地新增或者删除责任。
缺点:
- 不能保证请求一定被接收。
- 职责链建立的合理性要靠客户端来保证,增加了客户端的复杂性,可能会由于职责链的错误设置而导致系统出错,如可能会造成循环调用。
- 每一个请求都增加一个类会导致系统中有很多细粒度的类。
设计模式——职责链模式
原文:https://www.cnblogs.com/winsons/p/12539913.html