目的 多个对象有可能处理某一请求时,为避免冲突,将这些对象连成一条链,并沿着该链传递该请求,直到有一个对象处理它为止
应用场景

(1)多个对象均可处理单个请求,并且在运行时自动确定处理该请求的具体对象

(2)动态确定处理单个请求的对象集合

(3)客户无须指定接受特定接收者,可向多个对象发送请求

构成 抽象处理者、具体处理者、客户
备注 责任链模式就是“推卸”责任模式,你的事情,在我这里能处理就处理,处理不了就推给其他对象

 

 

 

 

 

 

责任链模式由抽象处理者、具体处理者、客户等角色组成。

(1)抽象处理者:定义一个处理请求的接口,该接口包含抽象处理方法和一个后继的链接。

(2)具体处理者:该角色具体实现了抽象处理者的处理方法,判断能够处理本次的请求,能处理则处理,不能,则把该请求传递给后继者

(3)客户:创建处理链,并向处理链头部的具体处理者提出请求。客户并不关心具体的请求处理和传递。