Java设计模式学习记录-责任链模式

时间:2023-03-09 02:18:55
Java设计模式学习记录-责任链模式

前言

已经把五个创建型设计模式和七个结构型设计模式介绍完了,从这篇开始要介绍行为型设计模式了,第一个要介绍的行为型设计模式就是责任链模式(又称职责链模式)。

责任链模式

概念介绍

责任链模式是为了避免请求的发送者和接收者之间的耦合关系,使多个接收对象都有机会处理请求。将这些对象练成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。当然责任链中也有可能没有可以处理该请求的对象,这种情况是允许发生的。

举例

还是以前的规律,先举出具体的代码例子,然后再分析。拿前阵子在我老东家发生的一件事情来说,同事小王要结婚了,所以要请假回家筹备婚礼,但是公司有明确的规章制度,请假需要提前申请,并且每一级的领导能够审批的假期天数也不一样,部门经理可以审批12天的假期,技术总监能够审批3到5天的假期,大于5天的就要找CEO审批了,如果CEO审批通过了才可以休息5天以上的假期,小王筹备婚礼和渡蜜月总共要请10个工作日的假期。

用代码来实现这个过程就是下面