将多个处理方法连接成一条链条,请求将在这条链条上流动直到该链条中有一个节点可以处理该请求;通常这条链条是一个对象包含对另一个对象的引用而形成链条,每个节点有对请求的条件,当不满足条件将传递给下一个节点处理。
示例code:
创建三个不同的对象,每个对象只处理指定范围内的数字,不属于自己的就传递给下一个对象。
责任链模式有几个要点:
一个对象中含有另一个对象的引用以此类推形成链条
每个对象中应该有明确的责任划分即处理请求的条件
链条的最后一节应该设计成通用请求处理,以免出现漏洞
请求应该传入链条的头部
领取专属 10元无门槛券
私享最新 技术干货