定义
责任链模式(ResponsibilityChain):属于行为型模式,让多个任务的处理者串成一个链(链表),依次处理某个请求,直到某个处理者最终处理完成。
代码实战
1 | abstract class Leader { |
类图
特点
责任链模式的特点是,创建一个抽象的类,其中有一个指向本类的成员变量next,表示自己的下一个处理者,并提供一个抽象的方法doSomething,让多个具体处理者重写该方法。当某个中间处理者发现自己无法处理时,会调用下一个处理者next的doSomething。
总结
责任链模式使用的场景不是特别多,但是公司的审批制度,就是一个明显的责任链式的模式。当三级主管无法审批时,会上传到二级主管审批,二级主管不能审批的问题,会上传到一级主管审批。